Tworzę program, który generuje 100 losowych liczb całkowitych od 0 do 9 i wyświetla liczbę dla każdego numeru. Używam tablicę dziesięciu liczb całkowitych, liczy, aby zapisać liczbę 0s, 1s, ..., 9s)metoda w klasie nie może być zastosowana do podanych typów
Kiedy kompilacji programu pojawia się błąd.
RandomNumbers.java:9: error: method generateNumbers in class RandomNumbers cannot be applied to given types;
generateNumbers();required: int[]
found:generateNumbers();
reason: actual and formal argument lists differ in length
Otrzymuję ten błąd dla wierszy kodu, które nazywam metodami generateNumbers() i displayCounts() w metodzie głównej.
public class RandomNumbers {
public static void main(String[] args) {
//declares array for random numbers
int[] numbers = new int [99];
//calls the generateNumbers method
generateNumbers();
//calls the displayCounts method
displayCounts();
}
//*****************************************************************
private static int generateNumbers(int[] numbers){
for(int i = 0; i < 100; i++){
int randomNumber;
randomNumber = (int)(Math.random() *10);
numbers[i] = randomNumber;
return randomNumber;
}
}
//*****************************************************************
private static void displayCounts(int[] numbers){
int[] frequency = new int[10];
for(int i = 0, size = numbers.length; i < size; i++){
System.out.println((i) + " counts = " + frequency[i]);
}
}//end of displayCounts
}//end of class
Na marginesie, generateNumbers zwraca wartość za każdym razem, kiedy jest 0, więc zawsze będzie wyskoczyć z i nigdy nie wypełniaj tablicy. –
Inna uwaga: Myślę, że powinieneś również zadeklarować tablicę liczb o rozmiarze 100, a nie 99. ('int [] numbers = new int [100];') W przeciwnym razie wydrukujesz tylko 99 liczb. –