用Java实现平均学分绩的计算

该Java代码计算平均学分绩,通过输入每门课程的分数和学分,累加并平均,最后输出结果。程序使用Scanner读取数据,以111.0作为结束输入的标志,并在每5门课程后换行。计算平均学分绩点时,只需稍作修改。

/* 平均学分绩 = 课程的学分 乘以 课程考试的分数总和 再除以 总学分 */

public static void main(String[] args) {

        /* 平均学分绩 = 课程的学分 乘以 课程考试的分数总和 再除以 总学分 */
        Scanner sc = new Scanner(System.in);
        int count = 0;//控制输出长度
        double score,//某门课成绩
                credit, //某门课学分
                gpa = 0,//平均学分绩 grade point average
                creditAll = 0;//总学分
        StringBuffer bfCredit = new StringBuffer();
//        System.out.println(sc.next());
        while (true) {
            score = sc.nextDouble();
            credit = sc.nextDouble();
            if (credit == 111.0 && credit == score) {//一般没有超过100的成绩,故用此来作为结束标志
                bfCredit.delete(bfCredit.length() - 1, bfCredit.length());//把最后一个” + “删掉
                break;
            } else {
                if (count == 0)
                    System.out.print("(" + score + " x " + credit + ")");
                else
                    System.out.print(" + (" + score + " x " + credit + ")");
                gpa += score * credit;
                creditAll += credit;
                bfCredit.append(credit + "+");
                count++;
                if (count % 5 == 0)
                    System.out.println();
            }

        }
        gpa /= creditAll;
        System.out.println(" / (" + bfCredit + ") = " + gpa);
    }

注:若需要算平均学分绩点,稍微改改程序即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值