我正在尝试格式化乘法表的输出,其中一行只能有 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
3 回答

炎炎设计
TA贡献1808条经验 获得超4个赞
每 5 个数字打印一个换行符:
calculation = number * i;
System.out.printf("%-5s ", calculation);
if (i % 5 == 0) {
System.out.println();
}

白猪掌柜的
TA贡献1893条经验 获得超10个赞
我认为你有多种选择来实现这一点: 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);
}
希望这可以帮助
添加回答
举报
0/150
提交
取消