我正在练习循环和其中一个章末练习,它要求创建一个乘法表,显示结果自身乘以1到12的整数。这就是我所做的,这会产生错误的结果。我确信我错过了一些简单但却无法捕捉的东西。
public class PP63 {
public static void main(String[] args) {
final int TOTAL = 12;
for(int i = 1; i <= TOTAL; i++)
{
for(int j = 1; j<=TOTAL; j++)
{
System.out.println(i*j);
}
}
}
}
答案 0 :(得分:2)
基本上,您需要一个表,而不是列表
for(int i = 1; i <= TOTAL; i++)
{
for(int j = 1; j<=TOTAL; j++)
{
System.out.print(i*j + "\t");
}
System.out.println();
}
答案 1 :(得分:1)
这一行有一个问题:
System.out.println(i*j);
请注意,这是调用println
,它会在自己的行上打印值。如果要在同一行上打印多个值,可以使用System.out.print
代替。您需要手动插入空格以确保所有内容都正确对齐,并且还必须插入自己的换行符。
希望这有帮助!
答案 2 :(得分:0)
根据你的问题,我认为你将所有结果混合在一行,所以你应该这样做:
public class PP63
{
public static void main (String[] args) {
// print main table
for (int i = 1; i <= 12; i++) {
System.out.print(i + ":");
for (int j = 1; j <= 12; j++) {
System.out.print(i*j + " ");
}
System.out.println();
}
} // end of main
}
答案 3 :(得分:0)
在main方法中使用此代码。我希望你能喜欢它
final int TOTAL = 12;
for(int i = 1; i <= TOTAL; i++)
{
for(int j = 1; j<=TOTAL; j++)
{
if(i*j<10)
System.out.print(j+"*"+i+" = "+i*j +" ");
else if(10<=i*j & i*j<100)
System.out.print(j+"*"+i+" = "+i*j +" ");
else if(100<=i*j & i*j<1000)
System.out.print(j+"*"+i+" = "+i*j +" ");
}
System.out.println("");
}