请参阅动态Java数组

时间:2015-06-01 14:23:33

标签: java arrays refer

我的Java程序中有一系列数组

Integer[] row1 = {0,0,0,0,0,0};
Integer[] row2 = {0,0,0,0,0,0};
Integer[] row3 = {0,0,0,0,0,0};
Integer[] row4 = {0,0,0,0,0,0};
Integer[] row5 = {0,0,0,0,0,0};
Integer[] row6 = {0,0,0,0,0,0};

我在1-6之间也有一个随机生成的数字:

    int selectrow = rand.nextInt(6)+1;

我需要根据生成的数字的值来引用这些行。所以像“行”+ selectrow然后做一些事情,但我不知道如果没有if语句如何实现这一点。如果陈述太乱了。有什么想法吗?

4 个答案:

答案 0 :(得分:1)

构建一个数组数组。

并使用int,而不是Integer,除非您有非常具体的理由使用昂贵的对象。

并使用循环来填充矩阵。除非您使用0填充int并使用 int[][] matrix = new int[6][6]; Random rand = new Random(); // there's probably something happening here int[] selectedRow = matrix[rand.nextInt(6)]; ,因为它是默认值。

一体化,这是您的代码可能是什么样的:

{{1}}

答案 1 :(得分:0)

您应该使用数组数组:

Integer[][] rows = createRows();
int selectrow = rand.nextInt(6);
Integer[] = rows[selectrow];

请注意,我在变量+1的初始化中删除了selectrow部分。 Java中的数组具有从0开始的索引。

答案 2 :(得分:0)

不是为每一行使用单独的变量,而是使用two-dimensional array来改善。选择一个新行是微不足道的:

Integer[] row = rows[rand.nextInt(6)];

(请注意,索引从0开始,而不是1。)

答案 3 :(得分:0)

将它们添加到数组数组中:

Integer[][] arrays = { row1, row2, row3, row4, row5, row6 };
Integer[] row = arrays[selectRow];