首页 > 解决方案 > 打印结果时如何使for循环转到下一行

问题描述

所以我试图得到这句话“永不放弃。今天很艰难,明天会更糟,但后天会阳光明媚!” 删除所有特殊字符,然后像这样打印出来:

绝不

向上

今天

难的

明天

将要

更差

明天

将要

阳光

目前正在打印:

永不放弃今天很艰难,明天会更糟,但后天会阳光明媚

我尝试添加 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;


}

标签: java

解决方案


您没有在两行之间添加换行符。您想将 '\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"


推荐阅读