里面添加一个空格就可以了,再试试else if(ch==' '){       -----------Exception in thread "main" java.lang.Error: 无法解析的编译问题:
                                                        ------------字符常量无效
                                                        ------------at Test.Test.main(Test.java:21)blank ++;
}

解决方案 »

  1.   

    没注意看你整体的代码,ch 是数组,你比较的是ch中的每个字符,要用ch[i] 这样就可以了for (int i=0;i<ch.length;i++){
                if(ch[i] >= '0' && ch[i] <= '9'){
                    digital++;
                }
                else if ((ch[i] >= 'a'&& ch[i] <= 'z')|| ch[i] > 'A'&& ch[i] <= 'Z'){
                    character ++;
                } else if (ch[i] == ' '){
                    blank ++;
                } else {
                    other ++;
                }
            }
      

  2.   

    你这ch是个数组,当然不能拿来直接对比。要用数组里具体的元素 比如if(ch[0]=='')
      

  3.   

    你的ch是一个数组类型的变量
    循环数组类型的比较数组里面的每个对象的值要用ch[i]来比较
      

  4.   

    char[] ch=null;else if(ch==''){ .......不出错才叫意外啊