类中的方法不能应用于给定的类型

时间:2012-11-01 01:03:53

标签: java arrays methods arguments

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

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

  

RandomNumbers.java:9:错误:类RandomNumbers中的方法generateNumbers不能应用于给定的类型;
                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

5 个答案:

答案 0 :(得分:19)

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

generateNumbers()在设置了第一个随机数后也会返回 - 似乎对它试图做的事情感到困惑。

答案 1 :(得分:3)

致电generateNumbers(numbers);,您的generateNumbers();期望int[]作为argument您正在传递的内容,因此错误

答案 2 :(得分:0)

generateNumbers(int[] numbers)函数定义具有参数(int[] numbers),该参数需要一个整数数组。但是,基本上generateNumbers();没有任何参数。

要解决此问题,只需在调用主函数中的generateNumbers()函数时在参数中添加一个数字数组即可。

答案 3 :(得分:0)

我认为您想要这样的东西。格式已关闭,但应提供所需的基本信息。

start

答案 4 :(得分:0)

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

(generateNumbers(parameter),displayCounts(parameter))