0

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

3 回答 3

2

current被定义为 achar但您试图将其与 a 进行比较String。很简单,这是您的代码中的错误,Java 编译器会通过错误消息通知您,大意是

incomparable types: char and java.lang.String

错误消息是说您无法将 achar与 a进行比较String。学会阅读这些错误信息,它将在未来为您带来巨大的红利。

现在你有 empty String,没有对应的值,char但似乎你打算与空间 " ' '" 进行比较。因此:

if (current != ' ') {
    System.out.print(current);
}
else {
    System.out.print(".");
}
于 2013-06-23T01:28:03.623 回答
1

从提供的类名和代码来看,我假设您正在尝试从字符串中删除所有空格并用句点替换它们?

你的问题在于线

if (current != "") {

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

它应该是这样的:

if (current != ' ') {
于 2013-06-23T01:31:42.070 回答
0

您应该将字符与current.equals(' ')方法进行比较

并且您在这里将字符与字符串进行比较

于 2013-06-23T01:28:29.350 回答