Java 类中的方法不能应用于给定类型。必需:无参数

Java 类中的方法不能应用于给定类型。必需:无参数,java,compiler-errors,Java,Compiler Errors,我对编码还不熟悉,所以这可能是一个非常简单的问题 当我编译时,我得到一个错误: GradeAnalyzer.java:49: error: method getAverage in class GradeAnalyzer cannot be applied to given types; myAnalyzer.getAverage(myClassroom); ^ required: no arguments found: ArrayList&l

我对编码还不熟悉,所以这可能是一个非常简单的问题

当我编译时,我得到一个错误:

GradeAnalyzer.java:49: error: method getAverage in class GradeAnalyzer cannot be applied to given types;
      myAnalyzer.getAverage(myClassroom);
                ^
  required: no arguments
  found: ArrayList<Integer>
  reason: actual and formal argument lists differ in length
GradeAnalyzer.java:49:错误:无法将类GradeAnalyzer中的getAverage方法应用于给定类型;
myAnalyzer.getAverage(我的教室);
^
必需:无参数
发现:ArrayList
原因:实际参数列表和正式参数列表长度不同
我一辈子都不明白为什么。我以为我的问题是它需要一个论点,但我有一个,就是“我的教室”

这是我的批量代码:


谢谢您的帮助。

您正在调用getter方法

  myAnalyzer.getAverage(myClassroom);
与大多数自动生成的getter方法一样,它不接收任何参数,因此它不期望也不能接收参数作为
mychool
,相应地更改代码

 myAnalyzer.getAverage();

您正在调用一个getter方法

  myAnalyzer.getAverage(myClassroom);
与大多数自动生成的getter方法一样,它不接收任何参数,因此它不期望也不能接收参数作为
mychool
,相应地更改代码

 myAnalyzer.getAverage();
您的
getAverage()
方法不需要任何参数。但是你打电话的时候已经通过了一个。这就是你在这里犯的错误。如果要传递参数,需要像这样更改
getAverage()
方法签名

public int getAverage(ArrayList<Integer> grades )
public int getAverage(数组列表等级)
您可以使用在方法内传递的这个grades参数,而不是在方法内创建列表

您的
getAverage()
方法不需要任何参数。但是你打电话的时候已经通过了一个。这就是你在这里犯的错误。如果要传递参数,需要像这样更改
getAverage()
方法签名

public int getAverage(ArrayList<Integer> grades )
public int getAverage(数组列表等级)

您可以使用在方法内传递的这个grades参数,而不是在方法内创建列表

您正在将参数传递给main方法中的getAverage()。但是getAverage()中没有参数。因此,您只需要更改getAverage()方法。下面是getAverage()的代码

public int getAverage(数组列表等级){
如果(等级大小()<1){
System.out.println(“Error.notitemsinArrayList.”);
返回0;
}
否则{
整数和=0;
适用于(国际等级:等级){
总和+=等级;
}
int average=总和/等级.size();
系统输出打印项次(平均值);
收益率平均值;
}
}

您正在将参数传递给main方法中的getAverage()。但是getAverage()中没有参数。因此,您只需要更改getAverage()方法。下面是getAverage()的代码

public int getAverage(数组列表等级){
如果(等级大小()<1){
System.out.println(“Error.notitemsinArrayList.”);
返回0;
}
否则{
整数和=0;
适用于(国际等级:等级){
总和+=等级;
}
int average=总和/等级.size();
系统输出打印项次(平均值);
收益率平均值;
}
}
您的方法getAverage()应该接受ArrayList作为参数,以便删除编译错误。 试试这个

public int getAverage(ArrayList<Integer> myClassroom ) {

    if (myClassroom .size() < 1) {
      System.out.println("Error. Not items in Arraylist.");
      return 0;
    }

    else {
      int sum = 0;

      for (int grade : myClassroom) {
        sum += grade;
      }

      int average = sum / myClassroom .size();

      System.out.println(average);

      return average;

    }

  }
public int getAverage(ArrayList My教室){
if(my教室.size()<1){
System.out.println(“Error.notitemsinArrayList.”);
返回0;
}
否则{
整数和=0;
用于(智力等级:My课堂){
总和+=等级;
}
int average=sum/my教室.size();
系统输出打印项次(平均值);
收益率平均值;
}
}
您的方法getAverage()应该接受ArrayList作为参数,以便删除编译错误。 试试这个

public int getAverage(ArrayList<Integer> myClassroom ) {

    if (myClassroom .size() < 1) {
      System.out.println("Error. Not items in Arraylist.");
      return 0;
    }

    else {
      int sum = 0;

      for (int grade : myClassroom) {
        sum += grade;
      }

      int average = sum / myClassroom .size();

      System.out.println(average);

      return average;

    }

  }
public int getAverage(ArrayList My教室){
if(my教室.size()<1){
System.out.println(“Error.notitemsinArrayList.”);
返回0;
}
否则{
整数和=0;
用于(智力等级:My课堂){
总和+=等级;
}
int average=sum/my教室.size();
系统输出打印项次(平均值);
收益率平均值;
}
}

欢迎来到stackoverflow。请阅读:,和。您可能需要根据这些指导原则编辑您的问题。特别是,不要发布代码的外部链接,而是将它们放在这里。看起来您的
getAverage()
函数不需要任何参数,但您正在将
myclassification
作为参数传递。在看到您的代码之前,我们无法进一步评论。欢迎使用stackoverflow。请阅读:,和。您可能需要根据这些指导原则编辑您的问题。特别是,不要发布代码的外部链接,而是将它们放在这里。看起来您的
getAverage()
函数不需要任何参数,但您正在将
myclassification
作为参数传递。在看到您的代码之前,我们无法进一步评论。