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