分级方法

时间:2018-03-23 16:19:05

标签: java methods

我正在做一个获得平均值的成绩计算器,然后将最终成绩确定为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;

  }

}

1 个答案:

答案 0 :(得分:1)

您尝试在静态方法中调用非静态方法。您的main方法为static。方法calAveragedetermineGrade不是,它们绑定到对象实例。

尝试将它们设为静态:

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