我正在尝试格式化乘法表的输出,其中一行上只能有5个数字/整数。我正在for循环中使用printf方法尝试此操作,但到目前为止还无法正常工作。
代码:
System.out.println("Which multiplication table do you want to print?: ");
int number = input.nextInt();
int calculation;
System.out.println("Multiplication table: " + number + ":");
for (int i = 1; i <= 10; i++ ) {
calculation = number * i;
System.out.printf("%-5s ", calculation);
}
我的输出:
3 6 9 12 15 18 21 24 27 30
我想要得到的输出:
3 6 9 12 15
18 21 24 27 30
答案 0 :(得分:2)
每5个号码打印一个换行器:
calculation = number * i;
System.out.printf("%-5s ", calculation);
if (i % 5 == 0) {
System.out.println();
}
答案 1 :(得分:1)
在打印5个元素后打印换行符:
if(i % 5 == 0)
System.out.println();
答案 2 :(得分:1)
我认为您可以通过多种选择来实现这一目标:
1.第5次迭代后打印一个新的空行
2.添加"\n"
标记行尾
1。
for (int i = 1; i <= 10; i++ ) {
calculation = number * i;
if (i % 5 == 0) {
System.out.println();
}
System.out.printf("%-5s ", calculation);
}
2。
for (int i = 1; i <= 10; i++ ) {
calculation = number * i;
if (i % 5 == 0) {
System.out.printf("\n");
}
System.out.printf("%-5s ", calculation);
}
希望这会有所帮助