任何人都可以在IF声明中指出错误

时间:2013-06-23 01:25:35

标签: java

我是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();
    }
}

3 个答案:

答案 0 :(得分:2)

current被定义为char,但您尝试将其与String进行比较。很简单,这是代码中的错误,Java编译器会通过error message向您通知

的效果
  

incomparable types: char and java.lang.String

错误消息表示您无法将charString进行比较。学习阅读这些错误信息,它将在未来为您带来巨大的红利。

现在您有空Stringchar没有相应的值,但无论如何,您似乎打算与空格“' '”进行比较。因此:

if (current != ' ') {
    System.out.print(current);
}
else {
    System.out.print(".");
}

答案 1 :(得分:1)

从提供的类名和代码判断,我假设你试图从字符串中删除所有空格并用句点替换它们?

您的问题在于

if (current != "") {

首先,那不是空格,这是一个空字符串。 其次,你应该将它与char进行比较。

应该是这样的:

if (current != ' ') {

答案 2 :(得分:0)

您应该使用current.equals(' ')方法

比较字符

您正在将字符与字符串进行比较