Java中统计字符个数

键盘录入一个字符串,统计该字符串中各个字符的个数

1.通过for循环来判断。

代码如下:

import java.util.Scanner;

public class StringDemoEnd01 {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.println("请输入你想输入的字符串:");
		String s = scanner.next();
		
		int a = 0;
		int b = 0;
		int c = 0;
		int d = 0;
		
		for(int i =0;i<s.length();i++) {
			//获取字符串的字符
			char ch= s.charAt(i);
			if(ch>='a' && ch<='z') {
				a++;
			}else if(ch>='A' && ch<='Z') {
				b++;
				
			}else if(ch>='0' && ch<='9') {
				c++;
			}else {
				d++;
			}
		}
		System.out.println("你所输入的字符串中小写字母的给数为"+a+"个");
		System.out.println("你所输入的字符串中大写字母的给数为"+b+"个");
		System.out.println("你所输入的字符串中数字字符的给数为"+c+"个");
		System.out.println("你所输入的字符串中特殊字符的给数为"+d+"个");
	}

}

注:在使用Scanner类做键盘输入时,一定要确保已导入了java.util.Scanner;包。

2.使用Map集合

分析:

  1. 获取一个字符串对象
  2. 创建一个Map集合,键代表字符,值代表次数。
  3. 遍历字符串得到每个字符。
  4. 判断Map中是否有该键。
  5. 如果没有,第一次出现,存储次数为1;如果有,则说明已经出现过,获取到对应的值进行++,再次存储。

代码如下:

  public static void main(String[] args) {
        //1:创建一个集合 存储  字符 以及其出现的次数
        HashMap<Character, Integer> map = new HashMap<Character, Integer>();
        //友情提示
        System.out.println("请录入一个字符串:");
        String line = new Scanner(System.in).nextLine();
        //2:遍历字符串
        for (int i = 0; i < line.length(); i++) {
            char c = line.charAt(i);
            //判断 该字符 是否在键集中
            if (!map.containsKey(c)) {//说明这个字符没有出现过
                //那就是第一次
                map.put(c, 1);
            } else {
                //先获取之前的次数
                Integer count = map.get(c);
                //++count;
                //再次存入  更新
                map.put(c, ++count);
            }
        }
        System.out.println(map);
    }

猜你喜欢

转载自blog.csdn.net/XianYuZong/article/details/82144094