這個程序應該打印出每個數字已經產生了100個隨機數的規模從1到10(然後把它放在數組中)的次數。有沒有辦法減少if語句?
我想不出任何其他方式比每個數字都有if語句。 有什麼辦法可以避免這麼多if語句被另一個代碼或其他東西?
public static void countNumbers() {
Random generator = new Random();
int arr[] = new int[101];
int add[] = new int[10];
for (int i = 0; i < 100; i++) {
int sum = 0;
arr[i] = generator.nextInt(10)+1;
if(arr[i] ==1){
add[0]++;
}
if(arr[i] ==2){
add[1]++;
}
if(arr[i] ==3){
add[2]++;
}
if(arr[i] ==4){
add[3]++;
}
if(arr[i] ==5){
add[4]++;
}
if(arr[i] ==6){
add[5]++;
}
if(arr[i] ==7){
add[6]++;
}
if(arr[i] ==8){
add[7]++;
}
if(arr[i] ==9){
add[8]++;
}
if(arr[i] ==10){
add[9]++;
}
}
System.out.println(Arrays.toString(add));
System.out.println();
}
這有一個模式。你可以使用它。一般來說,你可以使用'switch'語句,它們沒有模式。 –
將所有if語句替換爲'add [i <= 0? 0:i - 1] ++;' – nbokmans