题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
方法一:
import java.util.Scanner;
public class StatisticsChar {
public static void main(String[] args) {
int eCount=0;
int spaceCount=0;
int numCount=0;
int otherCount=0;
Scanner sc=new Scanner(System.in);
String str=sc.nextLine();
char [] ch=str.toCharArray(); //把字符串转化为字符数组
for(int i=0;i<ch.length;i++){
if(Character.isLetter(ch[i])){ //判断字符
eCount++;
}else if(Character.isSpaceChar(ch[i])){ //判断空格
spaceCount++;
}else if(Character.isDigit(ch[i])){ //判断数字
numCount++;
}else{
otherCount++; //其他字符
}
}
System.out.println("字母的个数:"+eCount);
System.out.println("空格的个数:"+spaceCount);
System.out.println("数字的个数:"+numCount);
System.out.println("其他字符的个数:"+otherCount);
}
}
方法二:
import java.util.Scanner;
public class StatisticsChar {
public static void main(String[] args) {
int eCount=0;
int spaceCount=0;
int numCount=0;
int otherCount=0;
Scanner sc=new Scanner(System.in);
String str=sc.nextLine();
for(int i=0;i<str.length();i++){
char ch=str.charAt(i);
if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')){
eCount++;
}else if(ch==' '){
spaceCount++;
}else if(ch>='0'&&ch<='9'){
numCount++;
}else{
otherCount++;
}
}
System.out.println("字母的个数:"+eCount);
System.out.println("空格的个数:"+spaceCount);
System.out.println("数字的个数:"+numCount);
System.out.println("其他字符的个数:"+otherCount);
}
}