我正在尝试制作一个将String
转换为Binary
的程序。为此,我将用户输入转换为char
数组。使用for
循环逐个读取char
数组中的字符。
我的问题是如何从char
数组读取空格。这是我的代码。
for(int i = 0 ; i < UserInput.length() ; i++) {
char c = UserInput.charAt(i);
if (Character.isLetter(c)){
System.out.print ("letter");
}
else if (Character.isDigit(c)){
System.out.print ("number");
}
else if (c== " "){
System.out.print ("space");
}
else
{
System.out.println ("Special Char");
}
}
错误显示二进制运算符'=='else if ((c) == " ")
的错误操作数类型
答案 0 :(得分:3)
c
是字符类型,您正尝试将其与字符串类型的" "
进行比较,如果要检查c
是否为空格,则应对其进行比较到也是' '
类型的字符。
答案 1 :(得分:0)
您无法将字符串与数组进行比较。
一个空格字符由''而不是“”
表示只需更改此
if (c== " ")
到
if (c== ' ')
答案 2 :(得分:0)
而
if(c==' ')
对于标准的空白字符可以使用,实际上有多种不同类型的空白,例如非破折号。
但是就像字母和数字一样,“字符”中已经存在一个函数,用于检查字符是否为这些空格中的任何一个:
if(Character.isWhitespace(c))
答案 3 :(得分:0)
您正在尝试将Character与String进行比较。 这就是错误的原因。 尝试使用
Character.isSpaceChar(c)
希望这对您有用。