我想查找用戶提交到程序中的所有整數的出現次數,到目前爲止這裏是我得到的結果。它的工作原理,但我不認爲這是一個合法的方式來做到這一點,有沒有什麼辦法可以嘗試做到這一點,而不使用list[10]=9999;
?因爲如果我不這樣做,它會顯示出邊界錯誤。在一個數組程序中計數整數的發生java
import java.util.*;
public class OccurrencesCount
{
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
int[] list = new int[11];
//Accepting input.
System.out.print("Enter 10 integers between 1 and 100: ");
for(int i = 0;i<10;i++){
list[i] = scan.nextInt();
list[10] = 9999;
}
//Sort out the array.
Arrays.sort(list);
int count = 1;
for(int i = 1;i<11;i++){
if(list[i-1]==list[i]){
count++;
}
else{
if(count<=1){
System.out.println(list[i-1] + " occurs 1 time.");
}
else{
System.out.println(list[i-1] + " occurrs " + count + " times.");
count = 1;
}
}
}
}
}
是否有一個原因,你的int數組的大小是11,但你只在循環中循環10次? –
設置列表[10] = 9999有什麼用? –
可能的重複http://stackoverflow.com/questions/33459302/counting-occurrences-of-integers-in-an-array,和http://stackoverflow.com/questions/8098601/java-count-occurrence-of- each-item-in-an-an-array – tam5