gpt4 book ai didi

Java GPA 计算器

转载 作者:行者123 更新时间:2023-12-01 14:07:49 28 4
gpt4 key购买 nike

我的主类中有这段代码。我的问题是,GPA 是用总分除以类(class)来计算的。它没有给我完整的号码。 EX,如果总数为 14,类(class)为 4,则为 3.5,我的代码只给我 3.0。有谁知道为什么,非常感谢您的帮助!

Scanner input = new Scanner(System.in);
System.out.print("How many classes did you have?: ");
int classes = input.nextInt();
String grades = "";
int total = 0;
int dec;



for (int j = 0; j < classes; j++) {

Scanner inputters = new Scanner(System.in);
System.out.print("What is your Grade?: ");
grades = inputters.nextLine();


if (grades.equals("A")){
dec = 4;
total += dec;

} else if (grades.equals("B")){
dec = 3;
total += dec;

} else if (grades.equals("C")){
dec = 2;
total += dec;

} else if (grades.equals("D")){
dec = 1;
total += dec;

} else if (grades.equals("F")){
dec = 0;
total += dec;

}

}


double GPA = total / classes;
System.out.println(GPA);

DecimalFormat formatter = new DecimalFormat("0.##");
System.out.println( formatter.format(GPA));

最佳答案

这是因为你将 int 除以 int,这永远不会得到 float 。将总计/类(class)类型更改为双倍(或强制转换),GPA 将是您期望的数字。

PS:并不是说 double 不太准确,例如 0.9 + 0.1 != 1.0。如果您想进行“正确的” double 计算,请使用 BigDecimal,并在使用 String 构造函数时使用它们。

关于Java GPA 计算器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18758151/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com