我有一个问题要回答我正在上的一门课(是的,这是一个家庭作业问题 - 一个额外的学分),但我不希望有人简单地给我答案。我更希望有人温柔地指出我应该(或不应该)做什么来解决这个问题。
这门课是我第一次接触Java,所以如果我的代码和理解很糟糕,那就是为什么,所以我提前道歉。
问题:
我需要创建一个 3 行 x 5 列 x 3 组的数组。我的输出类似于:
设置 1:
0 1 2 3 4
5 6 7 8 9
10 11 12 13 14
第 2 组:
15 16 17 18 19
20 21 22 23 24
等等等等
我能够弄清楚的代码(到目前为止)产生了我需要的 3 个集合作为一个整体的范围,0-44,但我不确定如何格式化这些,所以它看起来像上面那样。当我运行代码时,我只有一个从 0 到 44 的长列表。
谁能指出我应该做些什么来将这个列表分成我需要的行/列而不简单地给我答案?我想说这是我自己想出来的,只需要问一个小方向就可以到达那里。
我的代码:
public static void main(String[] args) {
int list[][][] = new int [3][5][3]; //create rows, column, units (buildings) array structure.
int i,j,k; //assign variables for row, column and unit (building).
int ctr = 0; //set counter.
//create array
for (i=0; i<3; i++)
for (j=0; j<5; j++)
for (k=0; k<3; k++)
{list[i][j][k] = ctr++;}
for (i=0; i<3; i++)
for (j=0; j<5; j++)
for (k=0; k<3; k++)
//Format array
{System.out.println(list[i][j][k] + " ");}
}
编辑:
感谢大家的建议,这里取得了一些进展。我能够以 5 列数据所需的整体方式对其进行格式化。我意识到(通过这个摸索)我对原始“int list [] [] []”的设置是不正确的,这就是为什么我在这种格式上遇到问题的原因是我需要它正确的方式(列和行计数) .
如果我可以问,我会问的下一个问题是如何在需要的地方插入“Set X”文本?我能够弄清楚 Set 1 的位置,但我想(现在)在以 15 开头的行之前显示“Set 2”字样,在以 30 开头的行之前显示“Set 3”字样。
我是否想为每个“Set X”块将是(范围明智)的每个值范围创建单独的循环,然后可能相应地标记它们?
此时我修改后的代码如下(希望格式比以前更好)。同样,不是在寻找任何人给我答案,只是希望获得一些关于寻找什么的方向以解决这个问题。
public class ECThreeD {
public static void main(String[] args) {
int list[][][] = new int[3][3][5]; // create rows, column, units
// (buildings) array structure.
int i, j, k; // assign variables for row, column and unit (building).
int ctr = 0; // set counter.
// create array
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
for (k = 0; k < 5; k++) {
list[i][j][k] = ctr++;
}
}
}
System.out.println("Set 1");
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
for (k = 0; k < 5; k++) {
// Format array
System.out.print(list[i][j][k] + " ");
}
System.out.println();
}
}
}
}