简单Java布尔不起作用

One*_*ion 2 java boolean equals char

我有以下程序通过一个字符串.如果有空格,则不打印任何内容.如果char为大写,则打印0.如果char为小写,则打印1.

import java.util.*;

public class Blah {
    public static void main (String args[]){
        Scanner input = new Scanner(System.in);
        String text = input.next();

        int i;
        for (i = 0; i < text.length(); i++) {
            if (text.charAt(i).equals(" "))
                System.out.print(" ");
            else if (Character.isUppercase(text.charAt(i)))
                System.out.print("0");
            else {
                System.out.print("1");
            }
        }

    }
}
Run Code Online (Sandbox Code Playgroud)

我收到以下2个错误:

char cannot be deferenced
cannot fine symbol: method.isUppercase(char)
Run Code Online (Sandbox Code Playgroud)

请帮忙.谢谢.

man*_*uti 7

  1. text.charAt(i)返回一个char没有equals方法的基本类型.要与引用字符进行比较,请使用相等运算符==.引用字符也必须用单引号括起来,而不是双引号.

  2. isUppercase必须改为isUpperCase:

    for (i = 0; i < text.length(); i++) {
        if (text.charAt(i) == ' ')
            System.out.print(" ");
        else if (Character.isUpperCase(text.charAt(i)))
            System.out.print("0");
        else {
            System.out.print("1");
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)

  • @OneMoreQuestion如果你想要太棒了,你需要弄清楚如何自己解决这些问题! (2认同)