我正在创建一个程序,在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
答案 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))