1

我对java编程相当陌生,我想创建两种方法:方法1将生成一个2d数组5 * 5并用ae之间的值填充它方法2只会将结果打印到屏幕上我理解迭代数组使用两个 for 循环并一次打印,但将其拆分让我有点困惑。到目前为止,这是我的第一种方法

       public void create()
         {
              Random r = new Random();  
              char Type[] = {'a','c','e','d'};

             for (int i = 0; i<seats.length; i++)
             {
                 for (int j = 0; j<seats[i].length; j++)
                {
                    seats[i][j] = Type[r.nextInt(Type.length)];
                }
            }

         }
4

1 回答 1

1

首先,您需要在方法之外创建数组。我建议使用全局变量来避免按值传递内存效率低下的问题。

 import java.util.Random;
 public class alpha_array
 {
     char array[][] = new char[5][5];
     Random rnd = new Random();

     public static void main(String[]args)
     {
         populate_array();
         print_array();
     }
 }

接下来你将需要你的两个功能。对于数组的填充,不要忘记在代码顶部导入 util:

填充数组():

public void populate_array()
{
    for(int i = 0; i < 5; i++)
    {
        for(int j = 0; j < 5; j++)
        {
            int x = rnd.nextInt(5); //0 to 4
            switch(x){
                case 0:{
                    array[i][j] = 'a';
                    break;
                }
                case 1:{
                    array[i][j] = 'b';
                    break;
                }
                case 2:{
                    array[i][j] = 'c';
                    break;
                }
                ...ETC
            }
        }
    }
}

最后,只需为 print_array 方法模仿相同的结构,只是使用:

System.out.print(array[i][j]);

对于每一行。希望这可以帮助。

于 2013-09-26T22:27:45.103 回答