輸出結果參考如下:
程序清單:
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')+" ");
}
}