【发布时间】:2012-10-21 14:23:18
【问题描述】:
我正在创建一个程序,它生成 100 个介于 0 和 9 之间的随机整数并显示每个数字的计数。我正在使用一个由十个整数组成的数组,counts,来存储 0、1、...、9 的数量。)
当我编译程序时出现错误:
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
【问题讨论】:
-
附带说明一下,generateNumbers 每次 i 为 0 时都会返回该值,所以它总是会跳出循环,永远不会填满数组。
-
另一个旁注:我想你也应该声明你的数字数组大小为 100,而不是 99。(
int[] numbers = new int [100];)否则你只会打印 99 个数字。
标签: java arrays methods arguments