运行一个简单的乘法表,但它没有给我一个所需的输出。我希望每个乘法都在不同的列上,用一点空间分隔。例如,1乘以1到12的数字应该在单列上,2乘以1到12的数字在另一列上。我不希望所有人只在一栏上。
public class multiplicationTable{
public static void main(String[] args){
for(int i=1; i<=12;i++){
System.out.println(i);
for(int j=1; j<=12; j++){
int mult=i*j;
System.out.println(i + "*"9 + j +" = " + mult +" \t");
}
}
}
}
答案 0 :(得分:0)
如果要在同一行上打印内容,则应使用System.out.print()
方法而不是System.out.println()
方法。你的程序应该是这样的:
public class multiplicationTable
{
public static void main(String[] args){
for(int i=1; i<=12;i++){
System.out.println(i);
for(int j=1; j<=12; j++){
int mult=i*j;
System.out.print(i + "*"9 + j +" = " + mult +" \t");
}
System.out.println();
}
}
}
答案 1 :(得分:0)
每当您调用System.out.println()时,它都会移动到下一行。因此,如果您想在一行上打印x的所有数字,您将执行以下操作:
public static void main(String[] args){
// Print the headers
for (int i = 1; i <= 12; i++) {
// Two tabs because the calculations take up room on the console
System.out.print(i + "\t\t");
}
// Start at the next line
System.out.println();
// Let's define each multiplication as x * j
// For each j...
for (int i = 1; i <= 12; i++) {
// ...print all of the x's and their products
for (int j = 1; j <= 12; j++) {
System.out.print(j + " * " + i + " = " + j * i + "\t");
}
// Move to the next line for the next row of j's
System.out.println();
}
}
在此表中:
1 * 1 = 1 2 * 1 = 2 3 * 1 = 3
有什么变化?第一个操作数。因此,您需要嵌套for循环 作为第一个操作数的for循环,嵌套在第二个操作数的循环中以获得所需的结果。
以这种方式思考:对于每个第二个操作数,打印一行中第一个操作数的所有计算。这样,您就可以获得所需的列。
如果这不是您的意思,请在评论中告诉我。
希望这有帮助。