Java编程统计用户从键盘输入的字符串中所包含的字母,数字和其他字符的个数。 不要写的太难,初学者水平!

最好带解释
2024-11-19 05:56:23
推荐回答(2个)
回答1:

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);
}
}

代码如上

回答2:

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);
 }
}