import java.util.Scanner;
/**
* 统计字符串中数字,字母,空格,其他字符的个数
* @author Administrator
*
*/
public class Data01 {
public static void main(String[] args) {
int englishCount = 0;// 英文字母个数
int spaceCount = 0;// 空格个数
int numCount = 0;// 数字个数
int otherCount = 0;// 其他字符个数
Scanner sc = new Scanner(System.in);
System.out.println("请您输入一行字符:");
String str = sc.nextLine();// 取得控制台输入的一行字符
char[] ch = str.toCharArray();// 把取道的字符串变成一个char数组
for (int i = 0; i < ch.length; i++) {
if (Character.isLetter(ch[i])) {
// 判断是否为字母
englishCount++;
} else if (Character.isSpaceChar(ch[i])) {
// 判断是否为空格
spaceCount++;
} else if (Character.isDigit(ch[i])) {
// 判断是否为数字
numCount++;
} else {
// 以上都不是则认为是其他字符
otherCount++;
}
}
System.out.println("字母的个数:" + englishCount);
System.out.println("数字的个数:" + numCount);
System.out.println("空格的个数:" + spaceCount);
System.out.println("其他字符的个数:" + otherCount);
}
}
代码如上
import java.util.Scanner; //导入Scanner类
public class Test{
public static void main (String args [ ] ){
Scanner s = new Scanner(System.in);//实例化输入流
String st = null ; //定义字符串用于接收输入
System.out.println("请输入字符串:");
st =s.next(); //完成对输入的接收
char[] c= st.toCharArray(); //将接收的字符串转化为字符数组
int n=0; //用于数字字符计数
for (int i = 0; i < c.length; i++) {
if(c[i]>='0'&&c[i]<='9'){
n++;
}
}
int n1=0; //用于小写字母字符计数
for (int i = 0; i < c.length; i++) {
if(c[i]>='a'&&c[i]<='z'){
n1++;
}
}
int n2=0; //用于大写字母字符计数
for (int i = 0; i < c.length; i++) {
if(c[i]>='A'&&c[i]<='Z'){
n2++;
}
}
int n3=c.length-n-n1-n2; //排除已计数字符后的剩余字符数
System.out.println("您输入的字符串中数字的个数是"+n);
System.out.println("您输入的字符串中小写字母的个数是"+n1);
System.out.println("您输入的字符串中大写字母的个数是"+n2);
System.out.println("您输入的字符串中其它字符的个数是"+n3);
}
}