我正在做一个获得平均值的成绩计算器,然后将最终成绩确定为A,B,C,D,F。但是我应该只使用两种方法calAverage并确定.Grade。我在主要方面以外的方法遇到了麻烦。任何帮助/建议都会有所帮助!感谢。
import java.util.Scanner;
public class MorenoJonathonGrader
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
System.out.println("Enter grades");
int average = calAverage(int grade);
int finalGrade = determineGrade();
System.out.println(grade);
System.out.println(finalGrade);
}
public int calAverage(int average){
Scanner sc = new Scanner(System.in);
for (int i=0; i>5;i++){
int grade;
grade = sc.nextInt();
return grade;
}
}
public int determineGrade(int grade){
average = finalGrade;
return finalGrade;
}
}
答案 0 :(得分:1)
您尝试在静态方法中调用非静态方法。您的main
方法为static
。方法calAverage
和determineGrade
不是,它们绑定到对象实例。
尝试将它们设为静态:
private static int calAverage(List<Integer> grades)
和
private static char determineGrade(int grade)
另一种方法是创建类实例,如下所示:
public static void main(String[] args) {
MorenoJonathonGrader grader = new MorenoJonathonGrader();
Scanner sc = new Scanner(System.in);
//collect grades
int average = grader.calAverage(grades);
char finalGrade = grader.determineGrade(average);
}
还可以查看本文以便更好地理解:Understanding Class Members