我是JAVA的新手,无法用IF语句弄明白问题
class SpaceRemover {
public static void main() {
String mostFamous= "This is a test";
char[] mfl = mostFamous.toCharArray();
for (int dex = 0; dex < mfl.length; dex++) {
char current = mfl[dex];
if (current != "") {
System.out.print(current);
} else {
System.out.print(".");
}
}
System.out.println();
}
}
答案 0 :(得分:2)
current
被定义为char
,但您尝试将其与String
进行比较。很简单,这是代码中的错误,Java编译器会通过error message向您通知
incomparable types: char and java.lang.String
错误消息表示您无法将char
与String
进行比较。学习阅读这些错误信息,它将在未来为您带来巨大的红利。
现在您有空String
,char
没有相应的值,但无论如何,您似乎打算与空格“' '
”进行比较。因此:
if (current != ' ') {
System.out.print(current);
}
else {
System.out.print(".");
}
答案 1 :(得分:1)
从提供的类名和代码判断,我假设你试图从字符串中删除所有空格并用句点替换它们?
您的问题在于
行if (current != "") {
首先,那不是空格,这是一个空字符串。 其次,你应该将它与char进行比较。
应该是这样的:
if (current != ' ') {
答案 2 :(得分:0)
您应该使用current.equals(' ')
方法
您正在将字符与字符串进行比较