私はJavaが初めてで、単純なプログラムのコードを書いています。
このプログラムは、ユーザーに受講したクラスの数を尋ね、次に各クラスの成績と単位時間を尋ねます。
私はこのプログラムを書くのに多くの問題を抱えています.. 私はそれに近づいたと思いますが、私はまだいくつかのことに苦労しています. 具体的には、「精度の低下」エラーが発生していますが、Math.pow または float を使用している場合にのみ表示されるという印象を受けました。
これが私が持っているものです:
java.util.Scanner をインポートします。パブリッククラスGPA
{
public static void main(String[] args)
{
Scanner kbReader = new Scanner(System.in);
System.out.println("Enter number of classes: ");
int numberClasses = kbReader.nextInt();
int i;
for (i = 0; i < numberClasses; i++)
{
System.out.print("Enter letter grade of class: ");
int letterGrade = kbReader.nextInt();
System.out.print("Enter credit hour of class: ");
int creditHour = kbReader.nextInt();
int totalCreditForGPA;
int totalCreditHours;
switch (letterGrade)
{
case 'A':
case 'a': totalCreditForGPA = totalCreditForGPA + (creditHour * 4.0);
totalCreditHours = totalCreditHours + creditHour;
break;
case 'B':
case 'b': totalCreditForGPA = totalCreditForGPA + (creditHour * 3.0);
totalCreditHours = totalCreditHours + creditHour;
break;
case 'C':
case 'c': totalCreditForGPA = totalCreditForGPA + (creditHour * 2.0);
totalCreditHours = totalCreditHours + creditHour;
break;
case 'D':
case 'd': totalCreditForGPA = totalCreditForGPA + (creditHour * 1.0);
totalCreditHours = totalCreditHours + creditHour;
break;
case 'F':
case 'f': totalCreditForGPA = totalCreditForGPA + (creditHour * 0.0);
totalCreditHours = totalCreditHours + creditHour;
break;
default:
System.out.println("Invalid letter grade.");
}
}
int GPA = totalCreditforGPA;
System.out.println("Your GPA is " + GPA);
}
}
事前にご協力いただきありがとうございます。