java输出单行而不是逐行

时间:2014-10-20 03:23:35

标签: java

我有一个示例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

不应在单独的行上显示每个值,而是应该在计算的同一行上更改打印值。我该怎么做?

3 个答案:

答案 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);
           }
        }
    }
}