用java写一个计算GPA成绩的程序

2025-04-14 06:28:06
推荐回答(1个)
回答1:

姓名和成绩我不知道你想怎样输入,只给出算GPA的算法,输入输出你自己来写吧,如果输入输出你不学的话,我也帮不了你。

//marks是一个学生成绩的数组,hours是该学生选课的学分的数组
private double getGPA(String[] marks, int[] hours)
{
double sumHour = 0;//总学分
double sumHourPoint = 0;//总学分绩点
for (int i = 0; i < hours.length; i++)
{
sumHour += hours[i];
sumHourPoint += pointOf(marks[i]) * hours[i];
}
return sumHourPoint / sumHour;//GPA = 总学分绩点/总学分
}
private double pointOf(mark){//计算单科绩点
double point = 0;
switch(mark.charAt(0))
{
case 'A': point = 4;
case 'B': point = 3;
case 'C': point = 2;
case 'D': point = 1;
default: point = 0;
}
if(mark.length() > 1)
{
switch(mark.charAt(1))
{
case '+': point += 0.5; break;
default: break;
}
}
return point;
}