如何使用范围中的随机字母值填充二维数组

时间:2013-09-26 22:15:23

标签: java arrays random

我是java编程的新手,我想创建两个方法: 方法1将生成2d数组5 * 5并用a-e之间的值填充它 方法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)];
                }
            }

         }

1 个答案:

答案 0 :(得分: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:

populate_array():

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]);
每行

。希望这会有所帮助。