更新:
现在我只需要修复它的循环和切换方法来获取用户输入的字母并将它们切换为用于计算gpa的数字。
上一条消息:
我正在尝试制作一个简单的gpa计算器,它已经有ENUM的课程,它只会询问用户的字母等级并将其切换为一个数字,以便总和除以代码上已经提供的学分。无需输入已存在代码的信用小时数。
我试图这样做,但不知道如何使用开关将字母更改为数字,我需要它来询问每个课程。它只询问我第一门课程的成绩,只接受一个答案。像每个例子2。谢谢。
我现在拥有的:
import java.util.Scanner;
public class Degree {
enum Courses {MATH5070, MATH5080, STAT6020, STAT6050, DATA6200, DATA6300}
enum Grades {A, B, C}
public static void main(String[] args) {
Courses[] grade = Courses.values();
Scanner keyboard = new Scanner(System.in);
double points = 0, sum = 0;
for (int i = 0; i < grade.length; i++) {
System.out.print("Enter Grade (A,B, C) for " + grade[i]);
points = keyboard.nextDouble();
// add course grades and divide by credits 3 each course equals 18 in this case
sum = sum + points * 3 / 18 ;
System.out.println("Total GPA points = " + sum);
{
Grades Letters = null;
String answer = keyboard.next();
answer = answer.toUpperCase();
Letters = Grades.valueOf(answer);
switch (Letters) {
case A:
double A = 4;
break;
case B:
double B = 3;
break;
case C:
double C = 2;
break;
default:
System.out.println("Wrong");
break;
}
}
}
}
}