méthode de classe ne peut pas être appliquée pour les types de donnée

Je suis de la création d'un programme qui génère 100 entiers aléatoires entre 0 et 9 et affiche le nombre total pour chaque numéro. Je suis à l'aide d'un tableau de dix entiers, compte, pour stocker le nombre de 0, 1, ..., 9s.)

Quand 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é pour les types de donnée;

generateNumbers();

requis: int[]

trouvé:generateNumbers();

raison: réelle et formelle des listes d'arguments 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 main.

    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
  • Comme une note de côté, generateNumbers retourne la valeur à chaque fois quand je est 0, donc il sera toujours sauter hors de la boucle et de ne jamais remplir le tableau.
  • D'un autre côté remarque: je suppose que vous devez également déclarer vos numéros de tableau de taille 100, pas 99. (int[] numbers = new int [100];) Sinon, vous ne imprimer 99 numéros.
InformationsquelleAutor user1368970 | 2012-11-01