如何在java中指示空格

时间:2018-07-04 14:50:05

标签: java string

public class solution {
    public static void main(String[] args) {
        String str = "The horse jumped over the sheep";
        String str1 = "";
        for(int i = 0; i!='\0'; i++); {
            if(str.charAt(i) != ' ')
                str1=str1+str.charAt(i);
        }
        System.out.println(str1);
    }
}

程序在变量i处显示错误。还有其他没有空白且没有内置功能的打印方法吗?

2 个答案:

答案 0 :(得分:2)

您在此处的循环后有;

for (int i = 0; i != '\0'; i++)
    ;

将其删除,然后将识别出变量i

您将i'\0'的比较是错误的。我想您要一直比较到字符串str的末尾。

应采用的方式

String str = "The horse jumped over the sheep";
String str1 = "";
for (int i = 0; i < str.length(); i++) {
    if (str.charAt(i) != ' ')
        str1 = str1 + str.charAt(i);
}
System.out.println(str1);

输出:

Thehorsejumpedoverthesheep

PS:我建议您也阅读这篇文章:String, StringBuffer, and StringBuilder

答案 1 :(得分:0)

(1)您需要在for循环后删除;,以消除错误。

(2)我将您的for循环更改为for-each循环,因为您的比较中有一个错误(它简化了代码)

(3)我修改了代码以包含StringBuilder,当str变得非常长时,它将更加高效

String str = "a b c d";
StringBuilder str2 = new StringBuilder();
for (char c : str.toCharArray()) {
    if (c != ' ') {
        str2.append(c);
    }
}
System.out.println(str2);