繁体   English   中英

打印到java中的行尾

[英]print until end of line in java

在Java中,我试图打印一个用户输入100次的单词,但我没有让它在新行中打印每个实例,而是在一行中尽可能多地打印然后转到新行。 在Java中这样做容易吗? 我是java的新手,所以将不胜感激! 这是我到目前为止的内容。

public class Main {

    public static void main(String[] args) {

        String name= "TEST"; //defined for debugging purposes

        int i=0;

        while (i < 100)
        {
            System.out.println(name + " ");
            i++;
        }
}

}

您应该使用System.out.print而不是System.out.println语句在同一行上进行打印。

public class Main {
public static void main(String[] args) {

    String name= "TEST"; //defined for debugging purposes

    int i=0;

    while (i < 100)
    {
        System.out.print(name + " ");
        i++;
    }
    System.out.println();
}
}

如果您希望遵循每行72至80个字符(CPL)的标准, http://en.wikipedia.org/wiki/Characters_per_line ,则可以将数据附加到单个StringBuilder并将每个附加项计为一次迭代。

public static void main(String[] args) throws Exception {
    final int CHARACTERS_PER_LINE = 72;

    String name = "TEST"; //defined for debugging purposes
    StringBuilder sb = new StringBuilder();
    for (int i = 0; i < 100; i++) {
        sb.append(name).append(" ");

        // Check if the next append exceeds the CPL
        if (sb.length() + name.length() + 1 > CHARACTERS_PER_LINE) {
            System.out.println(sb); // Print the line
            sb.setLength(0); // Clear for a new line
        } 
    }
    // Print what is left
    System.out.println(sb);
}

结果(每行应少于或等于72个字符):

TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST 
TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST 
TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST 
TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST 
TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST 
TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST 
TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST TEST 
TEST TEST 

如果您想要整齐的换行符; 您可以使用模数%运算符将它们安排为每10次迭代自动发生一次。

public class Main {

    public static void main(String[] args) {

        String name= "TEST"; //defined for debugging purposes

        int i=0;

        while (i < 100)
        {
            System.out.print(name + " ");
            if(i%10 == 0 && i != 0) {
                System.out.println();
            }
            i++;
        }
}

同样,您始终可以使用换行符\\ n在新行上打印。 在java中,String文字中的转义序列以\\字符开头,后跟一个转义字符。 \\ n是换行符,\\ t是制表符,\\'是单引号,\\“是双引号,2 \\,反斜杠-这些是常见的。

使用换行符和三元运算符:

while (i < 100)
{
    String line = i%10 == 0 && i != 0 ? name + "\n" : name + " ";
    System.out.print(line);
    i++;
}

如果您对三元运算符不熟悉; 这是一个简化的if / else语句。 上面的三元运算符与上面的说法相同:

String line = "";
if(i%10 == 0 && i != 0) {
  line = name + "\n";
}
else {
  line = name + " ";
}

这是不考虑字符长度的简单格式化方式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM