Java统计一个字符串中每个字符出现的次数的方法

时间:2022-05-27 22:38:20   收藏:0   阅读:16

方法1:

package com.st.train;

import java.util.Arrays;
import java.util.Scanner;

/**
 * 统计一个字符串中每个字符出现的次数
 * 解决思路:
 * 1.首先从键盘接收一个字符串
 * 2.将这个字符串转化为字符串数组
 * 3.将这个数组进行排序
 * 4.排序之后统计他出现的字数
 */
public class StatisticalCharacters5 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个字符串:");
        //把从键盘接受的字符串放到一个数组中存储。
        char[] chars = sc.nextLine().toCharArray();
        //将数组进行排序
        Arrays.sort(chars);
        System.out.println(Arrays.toString(chars));
        //定义计数器count
        int count = 1;
        /**
         * 如果第一项等于第二项,第二项等于第三项,说明这个数出现了3次,也就是等于第n项,那么就出现了n次;
         */
        //给数组长度+1;
        char[] chars1 = Arrays.copyOf(chars,chars.length+1);
        for(int i=1;i<chars1.length;i++){
            if(chars1[i-1]!=chars1[i]||i==chars1.length-1){
                System.out.println(chars1[i-1]+"出现的次数"+count);
                count = 1;
            }else if(chars1[i-1]==chars1[i]){
                count++;
            }
        }
    }
}

方法2:

package com.st.train;

import java.util.Arrays;
import java.util.Scanner;

public class StatisticalCharacters2 {
	/**
	 * 题目:输入一行字符,统计各个字符(汉字、字母、数字、空格、特殊符号)
	 * 出现的个数
	 */
	public static void main(String[] args) {
		try (Scanner input = new Scanner(System.in)) {
			System.out.println("请输入一行字符:");
			String s=input.nextLine();
			char[] arr = s.toCharArray();
			System.out.println(Arrays.toString(arr));
			for(int i = 0 ; i < arr.length; i++) {		
				int count = 0;
                                //限制统计过的字符不在统计第二遍
				if (arr[i] != 0 ) {
					char c=arr[i];
					for(int j = 0 ; j < arr.length ; j++) {
						if(c == arr[j]) {	
							count++;
                                                        //将之前出现并统计过的字符赋值为0
							arr[j] = 0;
						}
					}
					System.out.println(c+"共有"+count+"个");
				}
			}
		}
	}
}

原文:https://www.cnblogs.com/wsnt1219/p/15327461.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!