web-dev-qa-db-fra.com

la méthode en classe ne peut pas être appliquée à des types donnés

Je crée un programme qui génère 100 entiers aléatoires entre 0 et 9 et affiche le nombre de chaque nombre. J'utilise un tableau de dix entiers, nombre, pour stocker le nombre de 0s, 1s, ..., 9s.)

Lorsque je compile le programme, j'obtiens l'erreur:

RandomNumbers.Java:9: erreur: la méthode generateNumbers dans la classe RandomNumbers ne peut pas être appliquée à des types donnés;
generateNumbers ();

requis: int []

trouvé: generateNumbers ();

raison: les listes d'arguments réelles et formelles diffèrent en longueur

J'obtiens cette erreur pour les lignes de code que j'appelle les méthodes generateNumbers () et displayCounts () dans la méthode 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
23
user1368970

generateNumbers() attend un paramètre et vous n'en transmettez pas!

generateNumbers () retourne également après avoir défini le premier nombre aléatoire - il semble y avoir une certaine confusion sur ce qu'il essaie de faire.

19
John3136

appelez generateNumbers(numbers);, votre generateNumbers(); attend int[] en tant que argument ans et vous n'en passiez aucun, d'où l'erreur

3
PermGenError