public class NormalNumbers {
public static void main(String[] args) {
int x = 1;
while ((x >= 1) && (x <= 100)) {
System.out.println("x = " + x);
x = x + 1;
}
}
}
目前的输出是:
x = 1
x = 2
...
x = 100
我想将格式更改为:
x=1 x=2 x=3 x=4 x=5
x=6 x=7 x=8 x=9 x=10
等等。
我如何实现这一目标?
答案 0 :(得分:2)
System.out.println
打印文本并添加新行。请改为使用System.out.print
在同一行打印。
所以它会是这样的:
System.out.print("x=" + x + " ");
要为每5个数字添加一个新行,请使用:
// if x is multiple of 5, add a new line
if (x % 5 == 0) {
System.out.println();
}
PD:您可以使用x++
(increment operator)或x += 1
(如果您希望增加多个单元)而不是x = x + 1
。
PD2:您可能希望使用制表符(\t
)而不是用于分隔数字的空格。这样,具有两位数的数字将具有与具有一位数的数字相同的缩进。
System.out.print("x=" + x + "\t");
答案 1 :(得分:2)
而不是使用println()
,它会自动在您打印的内容中插入换行符,只需使用print()
并添加额外的空格来填充您的条目。
如果你想专门在5
条目之后注入换行符,你可以使用空println()
和模数运算符这样做:
while ((x >= 1) && (x <= 100)) {
System.out.print("x = " + x);
if (x % 5 == 0) {
System.out.println();
}
x = x + 1;
}
答案 2 :(得分:2)
如果没有余数,则使用模数除法将计数器除以5,然后创建一个新行:
int x = 1;
while ((x >= 1) && (x <= 100))
{
System.out.print("x = " + x + " ");
if(x % 5 == 0)
{
System.out.print("\n");
}
x = x + 1;
}
答案 3 :(得分:2)
println
是下一行,print
在同一行。 x % 5 == 0
检查x值是否为5的倍数。
int x = 1;
while ((x >= 1) && (x <= 100)) {
if (x % 5 == 0) {
System.out.println("x="+x);
} else {
System.out.print("x=" +x+ " ");
}
x = x + 1;
}
这样可以输出
x=1 x=2 x=3 x=4 x=5
x=6 x=7 x=8 x=9 x=10
x=11 x=12 x=13 x=14 x=15
x=16 x=17 x=18 x=19 x=20
-----
答案 4 :(得分:1)
我认为在您的情况下,更好的方法是使用for(;;)
语句:
for (int x = 1; x > 0 && x < 101;)
System.out.print("x = " + x + (x++ % 5 == 0 ? "\n" : " "));
三元运算符x++ % 5 == 0 ? "\n" : " "
负责新行并递增x
变量。
输出:
x = 1 x = 2 x = 3 x = 4 x = 5
x = 6 x = 7 x = 8 x = 9 x = 10
...
x = 96 x = 97 x = 98 x = 99 x = 100