Java 私人双重计算错误

Java 私人双重计算错误,java,Java,我的getGPA()方法有问题,它只返回0.00的值。我需要函数通过将总成绩点除以NumberOfClass来计算GPA。我什么都试过了,不知道是什么问题。我是一个完全的初学者,在学习的过程中,这是一个课堂作业,所以这是我们教授教我们的。我很感激你们给我的建议,谢谢大家 import java.util.Scanner; import java.text.DecimalFormat; public class StudentGPAInfo { static DecimalFormat

我的getGPA()方法有问题,它只返回0.00的值。我需要函数通过将总成绩点除以NumberOfClass来计算GPA。我什么都试过了,不知道是什么问题。我是一个完全的初学者,在学习的过程中,这是一个课堂作业,所以这是我们教授教我们的。我很感激你们给我的建议,谢谢大家

import java.util.Scanner;
import java.text.DecimalFormat;

public class StudentGPAInfo {
    static DecimalFormat f = new DecimalFormat ("0.00");
    private double gpa;
    private int totalgradepoints;
    private int numberofclasses;
    private String studentname;

    public StudentGPAInfo() {
        gpa = 0;
        totalgradepoints = 0;
        numberofclasses = 0;
        studentname = null;

    }

    public void setName(String studentID){
        studentname = studentID;

    } 

    public void addClass(int classes, String gradepoint){
        numberofclasses = numberofclasses += classes;
            if (gradepoint.equalsIgnoreCase("A")) {
                totalgradepoints += 4;
            } else if (gradepoint.equalsIgnoreCase("B")) {
                totalgradepoints += 3;
            } else if (gradepoint.equalsIgnoreCase("C")) {
                totalgradepoints += 2;
            } else if (gradepoint.equalsIgnoreCase("D")) {
                totalgradepoints += 1;
            } else if (!gradepoint.equalsIgnoreCase("F")) {
                System.err.println("Invalid input: " + gradepoint);

            }


    }       



    public String getName(){

        return studentname;
    }

    public double getGPA(){

    gpa = totalgradepoints / numberofclasses;

    return gpa;
    }

    public void displayStudent(){
        System.out.println("Student Name: " + studentname);
        System.out.println("Total Grade Points: " + totalgradepoints);
        System.out.println("Number of Class Credits: " + numberofclasses);
        System.out.println(studentname + " Your GPA Average is: " + f.format(gpa));
    }

}

public class GPAtest {
    static Scanner input = new Scanner (System.in);
    public static void main(String[] args) {
    String sName;
    String grade;
    int sClass;
    String aClass;
    StudentGPAInfo student = new StudentGPAInfo();

    System.out.print("Please Enter Student Name: "); 
    sName = input.nextLine();
    student.setName(sName);
    do {
        System.out.print("Please Enter Class credits: ");
        sClass = Integer.parseInt(input.nextLine());
        System.out.print("Please Enter Letter Grade: ");    
        grade = input.nextLine();
        System.out.print("Another Class? ");
        aClass = input.nextLine();
        student.addClass(sClass, grade);
        }
    while (aClass.equalsIgnoreCase("y"));
        student.displayStudent();



    }
}

请阅读整数除法的工作原理。如果分子小于分母,结果为零。通过浇铸使分子变成双分子

更改此项:

gpa = totalgradepoints / numberofclasses;
为此:

gpa = (double) totalgradepoints / numberofclasses;

谷歌Java国际分部<代码>gpa=(双)总成绩/课程数