案例: 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
代码如下:
package cn.wuhan.unit9;
import java.util.*;
public class Tongji2 {
public static void main(String[] args) {
int digital=0;
int character=0;
int other=0;
int blank=0;
Scanner sc=new Scanner(System.in);
String s=sc.nextLine();
char[] 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);
}
}
效果如下:
方法二:
也可以使用BufferedReader来实现统计,如下:
package cn.wuhan.unit9;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Tongji {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
int countNum = 0;// 统计数字的个数
int countChar = 0;// 统计英文字母的个数
int countSpace = 0;// 统计空格的个数
int countOthers = 0;// 统计其它字符的个数
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if (c >= '0' && (int) c <= '9') {
countNum++;
} else if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) {
countChar++;
} else if (c == ' ') {
countSpace++;
} else {
countOthers++;
}
}
System.out.println("数字个数:" + countNum);
System.out.println("英文字母个数:" + countChar);
System.out.println("空格个数:" + countSpace);
System.out.println("其他字符个数:" + countOthers);
}
}