我是编码的新手,所以这可能是一个非常简单的问题。
编译时出现错误:
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
对于我的一生,我无法理解为什么。我以为我的问题是需要一个论点,但我有一个论点,就是“ myClassroom”。
这是我的批量代码:https://bitbucket.org/snippets/Faraday_/pexqKb
感谢您的帮助。
答案 0 :(得分:2)
您的方法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;
}
}
答案 1 :(得分:1)
您正在调用getter方法
format_version: 3
pipelines:
copy_code_cluster:
group: MyGroup
materials:
terraform_git:
git: git@gitlab.xxxx.com/spark-jobs.git
branch: develop
parameters:
KAFKA_CODE: "s3://code_path/spark-jobs.zip"
stages:
- provision:
clean_workpace: true
jobs:
terraform:
tasks:
- exec:
command: /bin/sh
arguments:
- "-c"
- "aws emr add-steps --cluster-id 'j-xxxxxxx' --steps 'Name= \"copy zip to cluster home directory\" , Jar=\"command-runner.jar\",Args=[ \"aws\" , \"s3\" , \"cp\", \"#{KAFKA_CODE}\" , \"/home/hadoop/\"]' "
作为大多数自动生成的getter方法,它不会接收任何参数,因此不会出现并且不能接收参数 myAnalyzer.getAverage(myClassroom);
,因此请相应地更改代码
myClassroom
答案 2 :(得分:1)
您的constructor(props) {
super(props);
this.input = React.createRef();
this.didFocusDSubscription = this.props.navigation.addListener(
'didFocus',
payload => {
this.input.current.focus();
}
);
}
render() {
return <TextInput ref={this.input} />;
}
方法不需要任何参数。但是当您调用它时,您已经通过了一个。那就是你在这里遇到的错误。如果要传递参数,则需要像这样更改getAverage()
方法签名,
getAverage()
您可以使用在方法内部传递的grades参数,而不是在方法内部创建列表。
答案 3 :(得分:1)
您正在通过main方法将参数传递给getAverage()。但是getAverage()中没有参数。因此,您只需要更改getAverage()方法。这是getAverage()的代码。
public int getAverage(ArrayList<Integer> grades) {
if (grades.size() < 1) {
System.out.println("Error. Not items in Arraylist.");
return 0;
}
else {
int sum = 0;
for (int grade : grades) {
sum += grade;
}
int average = sum / grades.size();
System.out.println(average);
return average;
}
}