27

我正在创建一个程序,它生成 0 到 9 之间的 100 个随机整数并显示每个数字的计数。我正在使用一个由十个整数组成的数组counts来存储 0、1、...、9 的数量。)

当我编译程序时,我得到了错误:

RandomNumbers.java:9:错误:类 RandomNumbers 中的方法 generateNumbers 不能应用于给定类型;
生成数字();

必需:int[]

找到:generateNumbers();

原因:实际参数列表和形式参数列表的长度不同

我在 main 方法中调用方法 generateNumbers() 和 displayCounts() 的代码行收到此错误。

    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
4

6 回答 6

24

generateNumbers()需要一个参数,而您没有传入一个参数!

generateNumbers() 在设置第一个随机数后也会返回 - 似乎对它试图做什么感到有些困惑。

于 2012-11-01T01:05:27.050 回答
3

call generateNumbers(numbers);,你的 generateNumbers();期望int[]是一个argument你没有传递的答案,因此错误

于 2012-11-01T01:06:26.327 回答
0

generateNumbers(int[] numbers)函数定义的参数需要(int[] numbers)一个整数数组。但是,总的来说,generateNumbers();没有任何论据。

要解决它,只需generateNumbers()在 main 中调用函数时将一组数字添加到参数中。

于 2020-06-28T08:39:32.547 回答
0

我想你想要这样的东西。格式已关闭,但它应该提供您想要的基本信息。

   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);
   }
}
于 2020-09-10T19:29:10.163 回答
0

调用函数时将数组作为参数传递,例如

(generateNumbers(parameter),displayCounts(parameter))
于 2021-03-29T16:32:08.977 回答
0

If you get this error with Dagger Android dependency injection, first just try and clean and rebuild project. If that doesn't work, maybe delete the project .gradle cache. Sometimes Dagger just fails to generate the needed factory classes on changes.

于 2022-02-06T05:27:58.657 回答