随机生成多个字符统计每个字母出现的次数

18 篇文章 4 订阅

随机生成50个字符并将其放入一个字符数组中,统计字符数组中每个字母出现的次数

import java.util.Random;
class RandomLowerChar{
	static String str ="abcdefghijklmnopqrstuvwxyz";
	static char randomChar(){
		Random random = new Random();//创建随机数对象
		int index = random.nextInt(str.length());//使用类方法调用边界数
		char c = str.charAt(index);//使用字符去接受一个随机字符,随机字符在str中
		return c;//使用类方法调用,返回一个字符
	}
}
public class exp1_5_2 {
	public static int[] countLetters(char[] chars) {//定义统计字符个数
	    int[] counts = new int[26];
	    for (int i = 0; i < chars.length; i++) //循环查找特定字符
	    	counts[chars[i] - 'a']++;//利用技巧
	    return counts;
	}	
	public static void main(String[] args) {
		char[] charArray = new char[50];
		for (int i=0; i<charArray.length; i++)//产生50个随机字符
			charArray[i] = RandomLowerChar.randomChar();
		for (int i=0; i<charArray.length; i++)//输出50个随机字符
			System.out.print(charArray[i]);
		System.out.println();
                int [] countsCharArray = countLetters(charArray);
		for(int i=0; i<countsCharArray.length; i++) 
			System.out.println((char)('a'+i)+ "的出现次数:"+ countsCharArray[i]);

	}

}

 public static int[] countLetters(char[] chars) {
        int []counts=new int[26];
        for (int i=0;i<chars.length;i++){
            for (int j=0;j<chars.length;j++)
                if (chars[j]==(char)(97+i))
                    counts[i]++;
                else
                    continue;
        }
        return counts;
    }
    public static void main(String[] args) {
        char []charArray=new char[50];
        for (int i=0;i<50;i++){
            charArray[i]=RandomLowerChar.randomChar();
        }
        for (char k:charArray){
            System.out.print(k);
        }
        System.out.println();
        int []countsCharArray=new int[26];
        countsCharArray=countLetters(charArray);
        for (int i=0;i<countsCharArray.length;i++){
            System.out.printf("%c的出现次数:%d\n",(char)(97+i),countsCharArray[i]);
        }
    }
}
class RandomLowerChar{
    static String str ="abcdefghijklmnopqrstuvwxyz";
    static char randomChar(){
        char c;
        int index=(int)(Math.random()*26);
        c=str.charAt(index);
        return c;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

琦琦今天加油了吗?

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值