在创建具有随机数的2D数组时找不到符号

时间:2014-01-28 14:57:06

标签: java random

我需要使用随机生成的数字创建一个2D数组。我将为该程序添加更多方法,但是现在我只是想创建该表。

当我编译它时,Java给了我一个找不到符号的错误,但我发现这些行没有错。

注意:为了便于阅读,我只放了一行,因为除了变量之外,所有行都完全相同,并且它们得到完全相同的错误。

import java.util.Random;


public class third {

public static void main(String[] args) {

  makeTable();

}

public static void makeTable() {

  int rand1, rand2, rand3, rand4, rand5, rand6, rand7, rand8, rand9, rand10, rand11, rand12, rand13, rand14, rand15, rand16, rand17, rand18, rand19, rand20;

  rand1 = generator.nextInt(11);
  ...
  rand20 = generator.nextInt(11);

  int[][] table = {{ rand1,  rand2,  rand3,  rand4},
                   { rand5,  rand6,  rand7,  rand8},
                   { rand9,  rand10, rand11, rand12},
                   { rand13, rand14, rand15, rand16},
                   { rand17, rand18, rand19, rand20}};

  System.out.print(table);
} 
}

这是错误(再次,大部分都是,但都是一样的。)

C:\!!VHSJava\third.java:24: error: cannot find symbol
  rand1 = generator.nextInt(11);
          ^

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

顺便说一句,你可以用for周期来做。当然,之前要创建Random类实例。

public static void makeTable() {
    Random generator = new Random();
    int[][] table = new int[5][4];
    for(int i = 0; i< 5; i++) {
        for (int j = 0; j < 4; j++) {
            table[i][j] = generator.nextInt(11);
        }
    }
    System.out.print(table);
}

您可以在迭代期间打印2D数组,添加以下命令:

System.out.printf("%2d ", table[i][j]); // calculating  table[i][j]
System.out.println(); // after inside cycle, and remove System.out.print(table); at the end.