打印结果时如何使for循环转到下一行

时间:2019-10-31 19:57:15

标签: java

因此,我试图得到这样的句子:“永不放弃。今天很辛苦,明天会更糟,但是后天将是阳光!”删除所有特殊字符,然后像这样打印出来:

从不

给予

今天

困难

明天

更糟

但是

之后

明天

阳光

当前正在打印:

今天永远不要放弃明天的明天,但是明天之后的第二天会阳光明媚

我尝试添加System.out.println();语句,但是与return语句一起使用时,它没有按我预期的那样工作。

String split(String s){

    String tmp = "";

    for(i=0; i<s.length(); i++)

        if(s.charAt(i)>64 && s.charAt(i)<=122){

            tmp = tmp+s.charAt(i);

        }

    return tmp;


}

1 个答案:

答案 0 :(得分:0)

您没有在行之间插入换行符。您想在每行后面附加'\ n'以便打印您期望的样子:

String split(String s){

    String tmp = "";

    for(i=0; i<s.length(); i++) {

        if(s.charAt(i)>64 && s.charAt(i)<=122){

            tmp = tmp+s.charAt(i);

        }

        if (s.charAt(i) == ' ') {
            tmp = tmp+"\n";
    }

    return tmp;
}

注意:有很多更简单的方法可以做到这一点,但是我的更新仅显示了如何更改当前解决方案以使其按预期工作。

如Zabuza所指出的那样,如果要确保在任何操作系统上都能正确打印,可以使用System.lineSeparator()代替"\n"