package six;
public class six_11 {
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 occueeences of each letters are :");
displayCounts(counts);
}
public static char[] createArray() {
char[] chars=new char[100];
for(int i=0;i<chars.length;i++)
chars[i]=RandomCharacter.getRandomLowerCaseLetter();//生成100个随机小写字母,并赋值给chars数组;
/*需要调用自己自定义的类*/
return chars;
}
public static void displayArray(char[] chars) {
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) {/*这个方法是统计字母出现的次数,这里用的方法是chars[i]-'a';
意思是说用如果chars[i]是a那么计数器counts就是0,依次类推,不然就要用if-else,这样就很麻烦了;*/
int[] counts=new int[26];
for(int i=0;i<chars.length;i++) {
counts[chars[i] - 'a']++;
}
return counts;
}
public static void displayCounts(int[] counts) {
for(int i=0;i<counts.length;i++) {
if((i+1)%10==0)//判断i是否大于十,大于就多打一个空格;
System.out.println(counts[i] + " " + (char)(i+'a'));
else
System.out.print(counts[i] + " " + (char)(i + 'a') + " ");
}
}
}
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');
}
java中random()函数的详细使用方法参考https://www.cnblogs.com/ningvsban/p/3590722.html