我必须编写代码:
我写了代码:
public class tables {
public static void main(String[] args) {
//int[][] table = new int[12][12];
String table="";
for(int i=1; i<13; i++){
for(int j=1; j<13; j++){
//table[i-1][j-1] = i*j;
table+=(i*j)+" ";
}
System.out.println(table.trim());
table="";
}
}
}
但问题在于输出格式。我需要像时尚矩阵一样的输出,每个数字的宽度都设置为 4(数字右对齐并去掉每行的前导/尾随空格)。我试过 google 但没有找到解决我问题的好方法。谁能帮帮我?
最佳答案
您可以使用 format()
根据您的需要格式化您的输出..
for(int i=1; i<13; i++){
for(int j=1; j<13; j++){
System.out.format("%5d", i * j);
}
System.out.println(); // To move to the next line.
}
或者,您也可以使用:-
System.out.print(String.format("%5d", i * j));
代替 System.out.format
..
这是%5d
工作原理的解释:-
- 首先,因为我们要打印整数,所以我们应该使用
%d
,它是整数的格式说明符。 5
in%5d
表示输出的总宽度。因此,如果您的值为 5,它将打印为覆盖 5 个空格,如下所示: -****5
%5d
用于右对齐。对于左对齐,您可以使用%-5d
.对于值5
,这会将您的输出打印为:-5****
关于java - 如何在控制台输出上对齐字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12793593/