У меня возникла проблема с моим методом getGPA(), она вернет только значение 0.00. Мне нужна функция для вычисления GPA, разделив totalgradepoints на число классов. Я пробовал все и понятия не имею, в чем проблема. Я полный новичок и стараюсь учиться, поскольку я иду, это для присвоения класса, так что это то, чему нас проинструктировал наш профессор. Я ценю любые советы по этому поводу, спасибо всем.Частная двойная вычислительная ошибка
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();
}
}
Google Java ИНТ подразделение. 'gpa = (double) totalgradepoints/numberofclasses;' –