繁体   English   中英

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

[英]how to populate a 2d array with random alphabetic values from a range

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

         }

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

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

每行。 希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM