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
处显示错误。还有其他没有空白且没有内置功能的打印方法吗?
答案 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);