(Java)统计随机产生的字母各自出现次数

来源:互联网 发布:哥伦比亚统计学 知乎 编辑:程序博客网 时间:2024/05/19 02:06

输出结果参考如下:

程序清单:

1、产生随机数

//产生随机数public class RandomCharacter {public static char getRandomCharacter(char ch1,char ch2){return (char)(ch1+Math.random()*(ch2-ch1+1));}//产生随机小写字母public static char getRandomLowerCaseLetter(){return getRandomCharacter('a','z');}//产生随机大写字母public static char getRandomUpperCaseLetter(){return getRandomCharacter('A','Z');}//产生0-9之间随机数字public static char getRandomDigitCharacter(){return getRandomCharacter('0','9');}public static char getRandomCharacter(){return getRandomCharacter('\u0000','\uFFFF');}}


2、随机生成100个小写字母,统计26个字母各自出现的次数

//随机生成100个小写字母,统计26个字母各自出现的次数public class CountLettersInArray {public static void main(String[] args) {char[] chars=createArray();System.out.println("The lowercase letters are:");displayArray(chars);int[] counts=countLetters(chars);System.out.println();System.out.println("The occurences of each letter are:");displayCounts(counts);}public static char[] createArray(){//生成100个随机小写字母char[] chars=new char[100];for(int i=0;i<chars.length;i++)chars[i]=RandomCharacter.getRandomLowerCaseLetter();return chars;}public static void displayArray(char[] chars){//按一行20个显示字母for(int i=0;i<chars.length;i++){if((i+1)%20==0)System.out.println(chars[i]+" ");else System.out.print(chars[i]+" ");}}public static int[] countLetters(char[] chars){//返回每个字母对应出现的次数int[] count=new int[26];for(int i=0;i<chars.length;i++)count[chars[i]-'a']++;return count;}public static void displayCounts(int[] count){//显示26个字母及其对应出现次数,每行10个for(int i=0;i<count.length;i++)if(((i+1)%10==0))System.out.println(count[i]+"-"+(char)(i+'a')+" ");else System.out.print(count[i]+"-"+(char)(i+'a')+" ");}}



原创粉丝点击