gpt4 book ai didi

java - 我的未加权 GPA 计算器存在问题

转载 作者:行者123 更新时间:2023-11-30 07:04:53 25 4
gpt4 key购买 nike

我正在尝试编写一个未加权的 GPA 计算器,但遇到了一些问题。

import java.util.Scanner;

public class GPA
{
public static void main(String[] args)
{
Scanner keyboard = new Scanner(System.in);
System.out.println("How many classes are you taking?");
int classes = keyboard.nextInt();
keyboard.nextLine();
int class1 = 0;
int gpa = 0;

for (int x = 0; x < classes; x++)
{
class1++;
System.out.println("What is your grade for class number " + class1);
String classGrade = keyboard.nextLine();
if (classGrade == "A" || classGrade == "a")
{
gpa += 4;
}
if (classGrade == "b" || classGrade == "B")
{
gpa += 3;
}
if (classGrade == "C" || classGrade == "c")
{
gpa+= 2;
}
if (classGrade == "D" || classGrade == "d")
{
gpa += 1;
}
if (classGrade == "F" || classGrade == "f")
{
gpa += 0;
}
}
double calculatedGpa = gpa / classes;
System.out.println("Your gpa is " + calculatedGpa);
}
}

输出在一定程度上可以正常工作。它询问我的类(class)数量,并询问我每个类(class)的成绩。然而,最后,它每次都会输出 GPA 为 0.0。我对 Java 还很陌生;请问我的代码有什么问题吗?

最佳答案

比较String时遇到问题。

您应该使用equals而不是==:

    if ("A".equals(classGrade) || "a".equals(classGrade))
{
gpa += 4;
}
...

我将常量放在 classGrade 之前,以避免在 classGrade 为 null 时出现 NullPointerException

参见How do I compare strings in Java? .

关于java - 我的未加权 GPA 计算器存在问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40317308/

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