Java实现最粗略的小学生数学考试自动系统

1. 概述

该系统为大一下学期Java课程结束后的课程设计,做的极为粗糙,之后也没再去修改,当时使用的是eclipse编写(编写Java建议Idea)。

题目为:采用图形用户界面,界面标题为“广州市X小学数学考试自动系统”,主要功能为:自动生成50道数学题,每题为随机生成的3个100以内整数的加减混合运算,每道题为2分,共100分,考试时间为90分钟。

2. 基本功能及完成的程度

开始界面上需要填写姓名、专业、和班级信息;(完成)
点击开始考试按钮后,自动生成50道数学题,计时开始;(完成)
考试计时功能,在界面上显示考试花费时间,90分钟后自动交卷;(完成)
交卷功能按钮:点击该按钮提前交卷或90分钟时间后自动交卷,均弹出对话框,并显示统计后的考试得分;(完成)
试卷显示部分采用卡式布局管理器(CardLayout),每页显示5道题,共25页,通过“首页”、“上一页”、“下一页”和“尾页”四个按钮控制翻页功能,其他功能部分可自行合理布局;(完成)
每道题100以内的整数随机生成,加法和减法也是随机,但3个数的混合运算结果不能为负数;(完成混合运算未完成结果不为负数)
考试的成绩累加写入“成绩.txt”文件,格式为“姓名 年级 班级 成绩”,如:“张	三 **年级  *班 98”。(完成)

扩展功能要求:
增加考试平均分按钮,实现对进行过考试的人员平均分统计,即对文件“成绩.txt”进行平均分统计可额外加分10-20分。(完成)

3. 程序流程图


流程图非常简单,就不必多说了。

4. 部分代码

(你们最喜欢的部分来了,过一阵子发出完整代码)

(1)登陆界面的页面设计

    public Login_Interface() {
   

        this.setTitle("广州市×小学数学考试自动系统");
        this.setSize(500, 450);
        this.setLocationRelativeTo(null);  //将此窗口置于屏幕的中央
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setLayout(new BorderLayout(20,20));

        jl1.setFont(new Font("黑体",Font.BOLD,35));
        jl1.setForeground(Color.blue);
        jp1.add(jl1);
        jp1.setLayout(new GridBagLayout());
        this.add(jp1,BorderLayout.NORTH);

        jl2.setFont(new Font("黑体",Font.BOLD,25));
        jl2.setForeground(Color.red);
        jp2.add(jl2);

        JLName.setFont(new Font("黑体",Font.BOLD,15));
        jp3.add(JLName);
        jp3.add(JTName);

        JLMagic.setFont(new Font("黑体",Font.BOLD,15));
        jp4.add(JLMagic);
        jp4.add(JTMagic);

        JLClass.setFont(new Font("黑体",Font.BOLD,15));
        jp5.add(JLClass);
        jp5.add(JTClass);

        jp6.add(jp2);
        jp6.add(jp3);
        jp6.add(jp4);
        jp6.add(jp5);
        jp6.setLayout(new GridLayout(4,2));
        this.add(jp6,BorderLayout.CENTER);
        jp6.setBorder(BorderFactory.createLoweredBevelBorder());

        jp7.add(JBave);
        jp7.add(jl4);
        jp7.add(JB1);
        jp7.add(jl3);
        jp7.add(JB2);
        this.add(jp7,BorderLayout.SOUTH);

        //美化界面
        try {
   
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        } catch (Exception e) {
   
            e.printStackTrace();
        
  • 14
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZZDT0917

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值