java统计字符串里相同字符出现的次数

时间:2025-04-19 09:07:44

java统计字符串里相同字符出现的次数

统计小写字母和大写字母还有数字的个数

import java.util.Scanner;

public class Demo5 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入:");
        String s = sc.nextLine();
        int num1 = 0;
        int num2 = 0;
        int num3 = 0;
        
        char[] chars = s.toCharArray();
        for (int i = 0; i < chars.length; i++) {
            char c = chars[i];  // 创建一个字符变量接收遍历字符串里的数据
            // 进行判断
            if (c >= 'A' && c <= 'Z' ) {
                num1++;
            } else if (c>='a' && c<='z') {
                num2++;
            } else if (c>='0' && c<='9'){
                num3++;
            }
        }
        System.out.println("大写字母字符:"+num1);
        System.out.println("小写字母字符:"+num2);
        System.out.println("数字字符:"+num3);
    }
}

统计字符串里相同字母的个数


import java.util.Scanner;

public class Demo6 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入:");
        String s = sc.nextLine();
        int[] data = new int[123];

        /*
        解题思路
             根据Ascii码值进行解题  定义一个大小为123的数组data
                先把字符串转换为数组,然后进行遍历,进行判断,比如1的Ascii值为49,这个时候data[49]的值就+1,下边也是同样的道理,
                输出的时候,就遍历data这个数组如果data[i]的值为0就不进行输出,否则就输出这个值,然后根据data[i]中的i值输出对应的字母
        */

        char[] chars = s.toCharArray();
        for (int i = 0; i < chars.length; i++) {
            if (chars[i] >= 48 && chars[i] <= 57) {
                data[chars[i]]++;
            }
            if (chars[i] >= 65 && chars[i]<=90) {
                data[chars[i]]++;
            }
            if (chars[i]>=97 && chars[i]<=122) {
                data[chars[i]]++;
            }
        }
        move(48,57,data);
        move(65,90,data);
        move(97,122,data);
    }
    // 定义一个方法,将结果进行输出
    public static void move(int min,int max,int data[]) {
        for (int i = min; i <=max; i++) {
            if(data[i] == 0) {
                continue;
            }
            char ch = (char)i;  // 将Ascii值转换为相应的字母
            System.out.println("字母:"+ch+"出现的次数"+data[i]);
        }
    }
}