我有一个示例java程序如下:
public class Test {
public static void main(String[] args) {
for(int i =0;i<100;i++){
System.out.println("Value:"+i);
}
}
}
我使用以下命令在CMD中运行此程序:java Test
我的输出如下:
Value:1
Value:2
..........
我想要的是输出应该在一行上,如:
价值1
不应在单独的行上显示每个值,而是应该在计算的同一行上更改打印值。我该怎么做?
答案 0 :(得分:2)
使用:
String clrCommand = System.getProperty("os.name").contains("Windows")? "cls" : "clear";
for(int i =0;i<100;i++){
Runtime.getRuntime().exec(clrCommand);
System.out.print("Value:"+i);
}
在这种情况下:Runtime.getRuntime().exec("cls")
(或&#34; clear&#34;)清除您的控制台,然后System.out.print("Value:"+i)
打印该值。因此,只有一行的效果会随着数字的变化而变化。
这不适用于所有系统。如果它不起作用,那么最好的解决方案是发送\n
符号,这在性能方面可能相当沉重
for(int i=0;i<100;i++){
for (int n=0;n<100;n++) {
System.out.println();
}
System.out.print("Value:"+i);
}
答案 1 :(得分:-1)
使用StringBuilder。
public class Test {
public static void main(String[] args) {
StringBuilder builder = new StringBuilder();
builder.append("Value -> ");
for(int i =0;i<100;i++){
builder.append(i);
builder.append(" -- "); // this line is for distinction from other value
}
System.out.println(builder.toString());
}
}
答案 2 :(得分:-3)
“println”将在字符串后面打印一行,“print”永远不会。
公共课测试{
public static void main(String[] args) {
for(int i =0;i<100;i++){
if(i=0){
System.out.print("Value: "+i);
}else{
System.out.print(" "+i);
}
}
}
}