简单Java布尔不起作用

时间:2015-07-22 16:24:53

标签: java char boolean equals

我有以下程序通过一个字符串。如果有空格,则不打印任何内容。如果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");
            }
        }

    }
}

我收到以下2个错误:

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

请帮忙。谢谢。

1 个答案:

答案 0 :(得分: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");
        }
    }