简单 Java 布尔值不起作用

Simple Java Boolean Not Working

我有以下通过字符串的程序。如果有 space,什么都不打印。如果字符是大写,则打印 0。如果字符是小写,则打印 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");
            }
        }

    }
}

我收到以下 2 个错误:

char cannot be deferenced
cannot fine symbol: method.isUppercase(char)

请帮忙。谢谢你。

  1. text.charAt(i) returns 原始类型 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");
        }
    }