我有以下程序通过一个字符串。如果有空格,则不打印任何内容。如果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)
请帮忙。谢谢。
答案 0 :(得分:7)
text.charAt(i)
返回基本类型char
,它没有equals
方法。要与引用字符进行比较,请使用相等运算符==
。引用字符也必须用单引号括起来,而不是双引号。
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");
}
}