我必须为我的班级编写一个程序来创建一个9x9乘法表。我已经将程序编写到数字正确的位置,但我不知道如何将其格式化为输出在9x9框中的位置。感谢您的帮助。
import java.io.*;
import java.util.Scanner;
public class MultTable
{
public static void main(String[]args)
{
Scanner input = new Scanner(System.in);
int multTableSize = 9;
int[][] multTable = new int[multTableSize][multTableSize];
for (int row = 0; row < multTable.length; row++)
{
for (int column = 0; column < multTable[row].length; column++)
{
multTable[row][column] = (row + 1) * (column + 1);
System.out.print(multTable[row][column] + " ");
}
}
System.out.println();
}
}
答案 0 :(得分:1)
首先,您要在两个循环外添加换行符,而不是在第一个循环的末尾添加换行符,其次,对于文本格式设置,最好使用printf()
而不是println()
尝试这样的事情:
for (int row = 0; row < multTable.length; row++) {
for (int column = 0; column < multTable[row].length; column++) {
multTable[row][column] = (row + 1) * (column + 1);
System.out.printf("%3d", multTable[row][column]);
}
System.out.println();
}
%3d
是一个格式字符串,可以使您的数字显示在3个字符的宽列中
请参阅Formatter
类文档以了解有关如何使用Java格式化输出的更多信息。
答案 1 :(得分:0)
也许使用System.out.println();在你的内循环之后?
答案 2 :(得分:0)
for (int row = 0; row < multTable.length; row++)
{
for (int column = 0; column < multTable[row].length; column++)
{
multTable[row][column] = (row + 1) * (column + 1);
System.out.print(multTable[row][column] + " ");
}
System.out.println();
}
在第二次循环结束后 - &gt;你需要跳过一行......