使系統生成50個0-9之間的隨機數,將每一個數字出現的次數存入一個一維數組中,統計出現次數最多和出現次數最少的數字,及出現次數和出現頻率。java
import java.util.Scanner;數組
public class Anpa1010doubleball {dom
public static void main(String[] args) {ide
int [] b=new int [50]; //定義長度爲50的數組b spa
int [] number=new int[10]; //定義長度爲10的數組number用來統計數組b中it
//產生的0~9的個數for循環
for(int i=0;i<b.length;i++){ast
b[i]=(int)(Math.random()*10); //隨機生成50個0~9的數,class
//並存到數組b中import
}
for(int i=0;i<b.length;i++){
int num=b[i]; //將數組b中的數提取出來
number[num]++; //由於0~9這10個數對應數組number的下表位, //因此從數組b中提取出來的0~9直接賦到數組number中
//好比num=b[i]=0,則number[0]自增一次
}
int most=0; //統計生成最多的數
int least=50; //統計生成最小的數
for(int i=0;i<number.length;i++){
while(number[i]>most){ //比較生成的數中最多的數的個數
most=number[i]; //與生成最大值和最小值類似
break;
}
while(number[i]<least){ //比較生成的數中最少的數的個數
least=number[i];
break;
}
System.out.print(i+"出現的次數是"+number[i]+"\n");
//0~9每一個數出現的次數
}
//有可能出現好幾個相同次數的數,因此用for循環。
for(int i=0;i<number.length;i++){
while(number[i]==most){
System.out.println("出現最多的數是"+i+",共出現"+number[i]+"次,出現頻率爲:"+(number[i]*0.02));
break;
}
while(number[i]==least){
System.out.println("出現最少的數是"+i+",共出現"+number[i]+"次,出現頻率爲:"+(number[i]*0.02));
break;
}
}