从Java中的Char数组读取空间

时间:2018-10-22 09:49:01

标签: java arrays string char

我正在尝试制作一个将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) == " ")的错误操作数类型

4 个答案:

答案 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)

希望这对您有用。