1
私は重み付けされていないGPA電卓をプログラムしようとしていますが、いくつかの問題が出てきました。私の重み付けされていない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);
}
}
出力が特定のポイントで正しく機能します。それは私にクラスの数を聞いて、各クラスの成績を尋ねます。しかし、最終的にGPAは毎回0.0と出力されます。私はまだかなりJavaに新しいです。私のコードに何が間違っているのか尋ねてもいいですか?
さらに良い点として、ifごとに2つの条件の代わりに "A" .equalsIgnoreCase(classGrade)を使用し、すべてのブランチが相互排他的であることを伝えるために "else if" – Wolf