package JDK;
//输入一行字符,分别统计出其中英文字母、空格、数字、和其他字符的个数;import java.util.*;
public class lianxi07 {
public static void main(String[]args){
int digital=0;
int character=0;
int other=0;
int blank=0;
char[]ch=null;
Scanner sc=new Scanner(System.in);
String s=sc.nextLine();
ch=s.toCharArray();
for(int i=0;i<ch.length;i++){
if(ch>='0'&& ch<='9'){
digital++;

}else if((ch>='a'&&ch<='z')||ch>'A'&&ch<='Z'){
character++;

}else if(ch==''){
blank++;
}else{
other++;
}
}
System.out.println("数字个数:"+digital);
System.out.println("英文字母个数:"+character);
System.out.println("空格个数:"+blank);
System.out.println("其他字符的个数:"+other);
}
}
为什么字符串常量无效

解决方案 »

  1.   

    (ch>='a'&&ch<='z')||ch>'A'&&ch<='Z' 改为(ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')ch==''改为ch==' '
      

  2.   

    (ch>='a'&&ch<='z')||ch>'A'&&ch<='Z' 改为(ch[i]>='a'&&ch[i]<='z')||(ch[i]>='A'&&ch[i]<='Z')ch==''改为ch[i]==' '
      

  3.   


    public static void main(String[] args) {
    int digital = 0;
    int character = 0;
    int other = 0;
    int blank = 0;
    char[] ch = null;
    Scanner sc = new Scanner(System.in);
    String s = sc.nextLine();
    ch = s.toCharArray();
    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++;
    }
    }
    System.out.println("数字个数:" + digital);
    System.out.println("英文字母个数:" + character);
    System.out.println("空格个数:" + blank);
    System.out.println("其他字符的个数:" + other);
    }
    测试结果:
    asdgqwe[12314;1l2 312-412lk14-09235  q23 aksdlf po23 2 2    23p4oiq235
    数字个数:32
    英文字母个数:23
    空格个数:11
    其他字符的个数:4
      

  4.   


    import java.util.*;
    public class Test {
    public static void main(String[]args){
    int digital=0;
    int character=0;
    int other=0;
    int blank=0;
    char[]ch=null;
    Scanner sc=new Scanner(System.in);
    String s=sc.nextLine();
    ch=s.toCharArray();
    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++;
            }
    }
    System.out.println("数字个数:"+digital);
    System.out.println("英文字母个数:"+character);
    System.out.println("空格个数:"+blank);
    System.out.println("其他字符的个数:"+other);
    }
    }