3 回答

TA贡献1860条经验 获得超9个赞
只需分配 的值k+1。就这样
解释:(我不太擅长这个。)i和的 值j不会在k循环中改变。所以你不需要它们。但是 ok 的值k在每次迭代中都会发生变化。它也将重置为0每次。但我们不希望0将其更改为k+1. println请在您的声明中添加一些调试。他们帮助很大。
triplet[i][j][k] = k+1;
有了这个,新的最里面的 for 循环看起来像:
for (int k = 0; k < triplet[i][j].length; k++)
{
triplet[i][j][k] = k+1;
//Don't put the comma after last digit.
if(k==triplet[i][j].length-1) {
System.out.print(triplet[i][j][k] );
}else {
System.out.print(triplet[i][j][k] + "," + "");
}
}

TA贡献1824条经验 获得超5个赞
您需要在第二个循环中初始化 adder 的值,然后在更深的循环中将该值加 1。试试这个:
public class Triples {
public static void main(String[] args) {
int[][][] triplet = new int[5][4][3];
for (int i = 0; i < triplet.length; i++)
{
for (int j = 0; j < triplet[i].length; j++)
{
System.out.print("[");
for (int k = 0; k < triplet[i][j].length; k++)
{
triplet[i][j][k] = k+1;
System.out.print(triplet[i][j][k] + "," + "");
}
System.out.print("]");
}
System.out.println();
}
}
}

TA贡献1869条经验 获得超4个赞
public class Triples {
public static void main(String[] args) {
int[][][] triplet = new int[5][4][3];
for (int i = 0; i < triplet.length; i++)
{
for (int j = 0; j < triplet[i].length; j++)
{
System.out.print("[");
for (int k = 0; k < triplet[i][j].length; k++)
{
triplet[i][j][k] = k+1;
if(k==triplet[i][j].length-1)
System.out.print(triplet[i][j][k] );
else
System.out.print(triplet[i][j][k] + ",");
}
if(j==triplet[i].length-1)
System.out.print("]");
else
System.out.print("], ");
}
System.out.println();
}
}
}
添加回答
举报