[英]Creating and printing a multiplication table using a two dimensional arrays?
我正在尝试使用二维数组创建12x12次表图表。 我尝试了以下代码来实际创建数组:
int[][] table = new int[12][12];
for (int row=0; row<12; row++){
for (int col=0; col<12; col++){
table[row][col] = row+1 * col+1;
}
}
现在我还不太清楚如何正确显示它,我尝试了一下:
for(int row=0; row<table.length; row++) {
for(int col=0; col<table[row].length; col++)
System.out.print(table[row][col] + "\t");
System.out.println();
}
这给出了一个12x12的表,但是没有进行乘法运算,该12x12点(网格中第12列第12行)是23而不是144,这现在让我认为实际的数组是错误的。 有任何想法吗?
在数学陈述式中使用括号。 知道乘法优先于加法。
所以你的代码行:
table[row][col] = row+1 * col+1;
相当于
table[row][col] = row + (1 * col) + 1;
这不是您想要的。 你要:
table[row][col] = (row + 1) * (col + 1);
String.format(...)
,考虑使用String.format(...)
或System.out.printf(...)
来格式化输出,因为它比使用制表符\\t
更强大和灵活。 另外,在游戏中你的舞台,你应该附上如果所有块和所有环路内{...}
大括号,因为这会节省你的尾巴在稍后的日期。
例如,
for (int row = 0; row < table.length; row++) {
for (int col = 0; col < table[row].length; col++) {
System.out.printf("%6d", table[row][col]);
}
System.out.println();
}
或者如果您希望输出权正确,请将"%6d"
更改为"%-6d"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.