methode in de klas kan niet worden toegepast op bepaalde typen

Ik ben het creëren van een programma dat 100 willekeurige getallen tussen 0 en 9 en geeft de telling genereert voor elk nummer. Ik gebruik een array van tien integers, aantal , om het aantal 0s, 1s, …, 9s op te slaan.)

Als ik het programma samen te stellen krijg ik de fout:

RandomNumbers.java:9: error: methode generateNumbers in de klas RandomNumbers kan niet worden toegepast op bepaalde typen;
generateNumbers ();

vereist: int []

gevonden: generateNumbers ()

reden: feitelijke en formele argument lijsten in lengte verschillen

Ik krijg deze fout voor de lijnen van code die ik bellen met de methoden generateNumbers () en displayCounts () in de belangrijkste methode.

   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

Antwoord 1, autoriteit 100%

generateNumbers()verwacht een parameter en u geeft er geen door!

generateNumbers() keert ook terug nadat het het eerste willekeurige getal heeft ingesteld – er lijkt enige verwarring te bestaan over wat het probeert te doen.


Antwoord 2, autoriteit 13%

bel generateNumbers(numbers);, uw generateNumbers();verwacht int[]als een argumenten omdat je er geen passeerde, dus de fout


Antwoord 3

De functiedefinitie generateNumbers(int[] numbers)heeft argumenten (int[] numbers)die een array van gehele getallen verwacht. In het algemeen heeft generateNumbers();echter geen argumenten.

Om het op te lossen, voegt u eenvoudig een reeks getallen toe aan de argumenten terwijl u de functie generateNumbers()in het hoofdmenu aanroept.


Antwoord 4

Ik denk dat je zoiets wilt. De opmaak is uitgeschakeld, maar het zou de essentiële informatie moeten geven die je wilt.

  import java.util.Scanner;
public class BookstoreCredit 
{
   public static void computeDiscount(String name, double gpa) 
   {
      double credits;
      credits = gpa * 10;
      System.out.println(name + " your GPA is " +
         gpa + " so your credit is $" + credits);
   }
   public static void main (String args[]) 
   {
      String studentName;
      double gradeAverage;
      Scanner inputDevice = new Scanner(System.in);
      System.out.println("Enter Student name: ");
      studentName = inputDevice.nextLine();
      System.out.println("Enter student GPA: ");
      gradeAverage = inputDevice.nextDouble();  
      computeDiscount(studentName, gradeAverage);
   }
}

Antwoord 5

geef de array door als parameter bij het aanroepen van de functie, zoals

(generateNumbers(parameter),displayCounts(parameter))

Other episodes