[英]method in class cannot be applied to given types
我正在创建一个程序,它生成 0 到 9 之间的 100 个随机整数并显示每个数字的计数。 我正在使用一个由十个整数组成的数组counts来存储 0、1、...、9 的数量。)
当我编译程序时,我得到了错误:
RandomNumbers.java:9:错误:class 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
generateNumbers()
需要一个参数,而您没有传入一个参数!
generateNumbers() 在设置第一个随机数后也会返回 - 似乎对它试图做什么有些困惑。
调用generateNumbers(numbers);
, 你的generateNumbers();
期望int[]
作为argument
您没有传递任何argument
,因此错误
generateNumbers(int[] numbers)
函数定义具有期望整数数组的参数(int[] numbers)
。 然而,主要是generateNumbers();
没有任何论据。
要解决它,只需在调用 main.js 中的generateNumbers()
函数时向参数添加一个数字数组。
我想你想要这样的东西。 格式已关闭,但它应该提供您想要的基本信息。
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);
}
}
调用函数时将数组作为参数传递,例如
(generateNumbers(parameter),displayCounts(parameter))
如果您在使用 Dagger Android 依赖注入时遇到此错误,请首先尝试清理并重建项目。 如果这不起作用,也许删除项目 .gradle 缓存。 有时 Dagger 只是无法在更改时生成所需的工厂类。
"公共 class 随机数 {
public static void main(String[] args) {
//declares array for random numbers
int[] numbers = new int [100];
//calls the generateNumbers method
generateNumbers(numbers); //passing the empty array
//calls the displayCounts method
displayCounts(numbers); //passing the array filled with random numbers
}
//*****************************************************************
private static void generateNumbers(int[] numbers){
for(int i = 0; i < 100; i++){
int randomNumber;
randomNumber = (int)(Math.random() *10);
numbers[i] = randomNumber;
} // here the function doesn't need to return.Since array is non primitive data type the changes done in the function automatically gets save in original array.
}
//*****************************************************************
private static void displayCounts(int[] numbers){
int count;
for(int i = 0, size = 10; i < size; i++ ){
count=0;
for(int j = 0; j < numbers.length ; j++ ){
if(i == numbers[j])
count++; //counts each occurence of digits ranging from 0 to 9
}
System.out.println((i) + " counts = " + count);
}
}//end of displayCounts
}//class结束
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.