import java.util.*;
public class KeyboardOut{
public static void main(String[] args){
//输入字符
Scanner e=new Scanner(System.in);
System.out.println("请输入一行字符:");
//循环监听,键盘事件abcd分别统计英文、空格、数字、和其他字符
int a=0;
int b=0;
int c=0;
int d=0;
char[] g=null;
String f=e.nextLine();//以enter键结束
g=f.toCharArray();
for(int h=0;h<g.length;h++){
if(g[h]==32){
b++;
}else if(g[h]>=48&&g[h]<=57){
c++;
}else if(g[h]>=65&&g[h]<=90||(g[h]>=97&&g[h]<=122)){
a++;
}else{
d++;
}
}
System.out.println("英文"+a+"个");
System.out.println("空格"+b+"个");
System.out.println("数字"+c+"个");
System.out.println("其他字符"+d+"个");
}
}
不用ascII码检索
import java.util.*;
public class KeyboardOut1{
public static void main(String[] args){
//输入字符串
Scanner a=new Scanner(System.in);
System.out.println("请输入一行字符串:");
String b=a.nextLine();//以enter结束
//初始化定义存储数组、统计英文、空格、数字和其他字符的变量
int c=0;
int d=0;
int e=0;
int f=0;
char[] g=null;
//字符串转换字符
g=b.toCharArray();
//遍历判断
for(int h=0;h<g.length;h++){
if(g[h]>='a'&&g[h]<='z'||(g[h]>='A'&&g[h]<='Z')){
c++;
}else if(g[h]==' '){
d++;
}else if(g[h]>='0'&&g[h]<='9'){
e++;
}else{
f++;
}
}
System.out.println("英文"+c+"个");
System.out.println("空格"+d+"个");
System.out.println("数字"+e+"个");
System.out.println("其他字符"+f+"个");
}
}