java 关于学生成绩的代码

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Assingment3 {
    public static void main(String[] args) {
        System.out.println("how many course do your students have?");
        Scanner cs = new Scanner(System.in);
        int CN = cs.nextInt();
        List<String> ID = new ArrayList<>();//对学生的ID创建一个动态数组
        int SN = 1;//学生数量初始值
        double[] tm;//输出每个学生总成绩
        double[] am;//每个学生平均分
        String[] mk;//每个学生等级
        String ii;
        double[][] MARK;//每个学生的每门课成绩
        int v=0;
        do {
            double TM = 0;
            double AM = 0;
            double[][] mark = new double[SN][CN];
            double[] Tm = new double[SN];
            double[] Am = new double[SN];
            String[] MK = new String[SN];
            System.out.println("What's the ID of # " + SN + "student: ");
            Scanner id = new Scanner(System.in);
            String id1 = id.next();
            ID.add(id1);
            for (int b = 1; b <= CN; b++) {
                System.out.println("What the mark of course " + b);
                Scanner Mark1 = new Scanner(System.in);
                int m1 = Mark1.nextInt();
                mark[SN - 1][b - 1] = m1;
                TM = TM + m1;
                AM = TM / CN;
            }
            Tm[SN - 1] = TM;
            Am[SN - 1] = AM;
            if (AM <= 100 && AM >= 86)
                v = 1;
            else if (AM >= 75 && AM < 86)
                v = 2;
            else if (AM >= 60 && AM < 75)
                v = 3;
            else if (AM >= 56 && AM < 60)
                v = 4;
            else if (AM >= 0 && AM < 56)
                v = 5;
            else
                System.out.println("Wrong input");
            switch (v) {
                case 1:
                    MK[SN - 1] = "A";
                    break;
                case 2:
                    MK[SN - 1] = "B";
                    break;
                case 3:
                    MK[SN - 1] = "C";
                    break;
                case 4:
                    MK[SN - 1] = "D";
                    break;
                case 5:
                    MK[SN - 1] = "F";
                    break;
                default:
                    MK[SN - 1] = "Wrong input";
            }
            tm = Tm;
            am = Am;
            mk = MK;
            MARK = mark;
            System.out.println("Do you want to continue?(Type Y for yes, N for no)");
            Scanner i = new Scanner(System.in);
            ii = i.next().toLowerCase();
            SN++;
        } while (ii.equals("y"));
        System.out.print("Student ID | Course: ");
        for (int i = 1; i <= CN; i++)
            System.out.print(i + "     ");
        System.out.println("    | Total | Average | Grade");
        for (int c = 0; c < SN; c++) {
            System.out.print(ID.get(c));
            for (int j = 0; j < CN; j++) {
                System.out.print("                "+ (MARK[c][j]));
            }
            System.out.println("                      " + tm[c] + "       " + am[c] + "      " + mk[c]);
        }
    }
}
 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值