有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

方法学生GPA。java:5:错误:'。类的预期错误

当我尝试调用另一个方法时,我一直遇到这个错误。我尝试使用方法重载,因为它需要它。 我知道计算是正确的,我只想得到最终的gpa值,根据它们的值打印出消息

请帮助我,因为我了解如何使用多种方法,我只想调用方法GPA计算器并将其放入主方法中

import java.util.Scanner;
public class StudentGPA {

public static void main(String[] args){
    gpaCalculator(double gpa);
    double gpa;

    if (gpa == 4.0){
        System.out.println("Excellent! Congratulations on a great job!");
    }

    else if ((gpa >= 3.5)&&(gpa < 4.0)){
        System.out.println("Great job! Keep up the good work!");
    }

    else if ((gpa >= 3.0)&&(gpa <3.5)){
        System.out.println("Very good job! Make sure you keep it this way(or higher) to easily get to graduate school");
    }

    else if ((gpa >= 2.0)&&(gpa <3.0)){
        System.out.println("Time to put a little more effort not to fall below 2.0 and most importantly to get back to 3.0");
    }
    else if (gpa < 2.0){
        System.out.println("I'm sure you'll get back on track, but please make an appointment with an advisor!");
    }
    else{
        return;
    }


}
public static void gpaCalculator(double gpa){

 String grade = "";
 double credit1;
 double credit2;
 double credit3;
 double credit4;
 double gradeValue=0;
 double totPtsClass1=0;
 double totPtsClass2=0;
 double totPtsClass3=0;
 double totPtsClass4=0;
 double totPts=0;
 double totalCredits= 0;


 Scanner scrn = new Scanner (System.in);
  System.out.println("Please enter the number of credits of the class 1     (A number)");
  credit1 = scrn.nextDouble();
  System.out.println("Please enter your grades for the class 1(Capital  letters such as A,B+, C-)");
  grade = scrn.next();

  if (grade.equals ("A"))
    gradeValue= 4.00;
  else if (grade.equals("A-"))
    gradeValue= 3.67;
  else if (grade.equals("B+"))
    gradeValue = 3.33;
  else if (grade.equals("B"))
    gradeValue = 3.00;
  else if (grade.equals ("B-"))
    gradeValue = 2.67;
  else if (grade.equals("C+"))
    gradeValue = 2.33;
  else if (grade.equals("C"))
    gradeValue = 2.00;
  else if (grade.equals ("D+"))
    gradeValue = 1.33;
  else if (grade.equals ("D"))
    gradeValue = 1.00;
  else if (grade.equals ("F"))
    gradeValue = 0;
  else if (grade.equals ("FX"))
    gradeValue = 0;
  else
    System.out.println ("Invalid Grade");

  totPtsClass1 = gradeValue * credit1;

  System.out.println("Please enter the number of credits of the class 2 (A number)");
  credit2 = scrn.nextDouble();
  System.out.println("Please enter your grades for the class 2 (Capital letters such as A,B+, C-)");
  grade = scrn.next();

  if (grade.equals ("A"))
    gradeValue= 4.00;
  else if (grade.equals("A-"))
    gradeValue= 3.67;
  else if (grade.equals("B+"))
    gradeValue = 3.33;
  else if (grade.equals("B"))
    gradeValue = 3.00;
  else if (grade.equals ("B-"))
    gradeValue = 2.67;
  else if (grade.equals("C+"))
    gradeValue = 2.33;
  else if (grade.equals("C"))
    gradeValue = 2.00;
  else if (grade.equals ("D+"))
    gradeValue = 1.33;
  else if (grade.equals ("D"))
    gradeValue = 1.00;
  else if (grade.equals ("F"))
    gradeValue = 0;
  else if (grade.equals ("FX"))
    gradeValue = 0;
  else
  System.out.println ("Invalid Grade");

  totPtsClass2 = gradeValue * credit2;

  System.out.println("Please enter the number of credits of the class 3 (A number)");
  credit3 = scrn.nextDouble();
  System.out.println("Please enter your grades for the class 3 (Capital letters such as A,B+, C-)");
  grade = scrn.next();

  if (grade.equals ("A"))
    gradeValue= 4.00;
  else if (grade.equals("A-"))
    gradeValue= 3.67;
  else if (grade.equals("B+"))
    gradeValue = 3.33;
  else if (grade.equals("B"))
    gradeValue = 3.00;
  else if (grade.equals ("B-"))
    gradeValue = 2.67;
  else if (grade.equals("C+"))
    gradeValue = 2.33;
  else if (grade.equals("C"))
    gradeValue = 2.00;
  else if (grade.equals ("D+"))
    gradeValue = 1.33;
  else if (grade.equals ("D"))
    gradeValue = 1.00;
  else if (grade.equals ("F"))
    gradeValue = 0;
  else if (grade.equals ("FX"))
    gradeValue = 0;
  else
    System.out.println ("Invalid Grade");

    totPtsClass3 = gradeValue * credit3;

  System.out.println("Please enter the number of credits of the class 4 (A number)");
  credit4 = scrn.nextDouble();
  System.out.println("Please enter your grades for the class 4 (Capital letters such as A,B+, C-)");
  grade = scrn.next();

  if (grade.equals ("A"))
    gradeValue= 4.00;
  else if (grade.equals("A-"))
    gradeValue= 3.67;
  else if (grade.equals("B+"))
    gradeValue = 3.33;
  else if (grade.equals("B"))
    gradeValue = 3.00;
  else if (grade.equals ("B-"))
    gradeValue = 2.67;
  else if (grade.equals("C+"))
    gradeValue = 2.33;
  else if (grade.equals("C"))
    gradeValue = 2.00;
  else if (grade.equals ("D+"))
    gradeValue = 1.33;
  else if (grade.equals ("D"))
    gradeValue = 1.00;
  else if (grade.equals ("F"))
    gradeValue = 0;
  else if (grade.equals ("FX"))
     gradeValue = 0;
  else
   System.out.println ("Invalid Grade");
  totPtsClass4 = gradeValue * credit4;

  totPts= totPtsClass1+totPtsClass2+totPtsClass3+totPtsClass4;
  totalCredits = credit1+credit2+credit3+credit4;
  gpa= totPts / totalCredits;

  return gpa;
  }
}

共 (1) 个答案

  1. # 1 楼答案

    您有许多语法错误,让我们从修复该方法开始。这个

    public static void gpaCalculator(double gpa){
    

    应该是

    public static double gpaCalculator(){
    

    然后,称之为改变

    gpaCalculator(double gpa);
    double gpa;
    

    double gpa = gpaCalculator();