Хорошо, поэтому я пытаюсь получить свой код, чтобы дать мне тип возврата, но он продолжает давать мне ошибку. Вот мой код.Код ошибки при компиляции в Java
import java.util.Scanner;
public class Gradebookmodified {
public static void main(String[] args){
mainMenu();
mainInstructions();
mainGrades();
average();
}
public static void mainMenu(){
Scanner input = new Scanner(System.in);
System.out.print("Choose an option: \n1.Average grades for a new student \n2.Quit \n");
int selection;
selection = input.nextInt();
if(selection == 1){
System.out.println("Enter name of new student");
String name = input.next();
}else {
}
}
public static void mainInstructions(){
Scanner input = new Scanner(System.in);
System.out.println("Grades will be entered in this order: \n1. Homework \n2. Quizzes \n3. Tests");
}
public static void mainGrades(){
Scanner input= new Scanner(System.in);
double[] homework = new double[5];
for(int i = 0; i < homework.length; i++){
System.out.println("Enter homework grades.");
homework[i] = input.nextDouble();
}
double[] quizzes = new double[4];
for(int j = 0; j <quizzes.length; j++){
System.out.println("Enter quiz grades.");
quizzes[j] = input.nextDouble();
}
double[] tests = new double[4];
for(int k = 0; k <tests.length; k++){
System.out.println("Enter test grades.");
tests[k] = input.nextDouble();
}
}
public static double average(double homework, int i){
Scanner input = new Scanner(System.in);
double result = 0.0;
if (homework > 0){
result = i/homework;
}
return result;
}
}
Это ошибка, которую компилятор мне дает.
Gradebookmodified.java:16: error: method average in class Gradebookmodified cannot be applied to given types;
average();
^
required: double,int
found: no arguments
reason: actual and formal argument lists differ in length
1 error
Я не уверен, почему он продолжает давать мне эту ошибку, но если кто-нибудь скажет мне, что я делаю неправильно, это было бы фантастически.
средний(); принимает два параметра, к которым вы не переходите. средний (double, int); – Bauss
В вашем 'main()' методе вы вызываете 'average()', но вы определяете 'average (double, int)'. И все оценки являются локальными для 'mainGrade()'. –
Вы можете сделать одно задание. Запишите каждую переменную (которая используется в более поздних функциях) в ваших статических функциях как static.And просто вызовите среднюю функцию. Также измените определение функции для среднего значения() { // функция здесь идет } – nikhil