Sto creando un programma che genera 100 numeri interi casuali tra 0 e 9 e visualizza il conteggio per ciascun numero. Sto utilizzando una matrice di dieci interi, conta, per memorizzare il numero di 0, 1s, ..., 9s)metodo in classe non può essere applicato a determinati tipi
Quando compilo il programma ottengo l'errore:.
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
Ricevo questo errore per le righe di codice che chiamo i metodi generateNumbers() e displayCounts() nel metodo principale.
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
Come nota a margine, generateNumbers restituisce il valore ogni volta che i è 0, così sarà sempre saltare fuori dal loop e non riempire mai la matrice. –
Un'altra nota a margine: suppongo che dovresti dichiarare anche la matrice di numeri 100, non 99. ('int [] numbers = new int [100];') Altrimenti stamperai solo 99 numeri. –