JAVA 学生成绩管理系统

您所在的位置:网站首页 Java成绩管理系统 JAVA 学生成绩管理系统

JAVA 学生成绩管理系统

2023-08-14 08:52| 来源: 网络整理| 查看: 265

在文章开始之前,先声明,不是可以白嫖的!所有代码均为本人书写(虽然代码写的垃圾,但是能跑,能满足要求),大神不用看,话不多说,看要求:

编写一个学生成绩管理系统。学生的属性包括学号、姓名、年龄等。每个学生要学习若干课程,每门课程有平时成绩、其中考试成绩、实习成绩、期末考试成绩以及总评成绩等多个成绩,其中平时成绩的数目不定(因为不同课程的教师布置的平时作业不同),而总评成绩是其它成绩的平均值。请先设计合理的类存放这些信息,然后设计程序完成以下功能:

列出某个学生的所有成绩;列出某门课程每个学生的总评成绩,及所有学生总评成绩的总评分;分区段统计某门课程的学生总评成绩,例如60分以下的学生人数、60至70分的学生人数等。

 

没错,这是郑州某大学的java期末大作业,30号之前完成,由于口罩原因,小编匆忙完成了(急着回家)

运行效果图:(小编这里有两种)

第一种:(无图形化)

更多的想法功能,小编会在30号之前一一添加。

第二种:(图形化)

 

 第二种,页面看着不错,但是功能欠缺(小编上课不听,这里都是摸索的),后续会根据自己能力添加功能。

这里放出部分代码:(第一种)

import utils.Utility; /** * 创建系统菜单 * 1——创建学生集合(学生相关信息可以从键盘录入也可以直接初始化) * 2——查询学生信息 * 3——列出某门课程每个学生的总评成绩,及所有学生总评成绩的总评分 * 4——分区段统计某门课程的学生总评成绩,例如60分以下的学生人数、60至70分的学生人数等 * 根据用户输入的选项,调用功能类相关操作。 */ public class View { private boolean loop = true; //控制显示菜单 private char key = ' '; //接收用户选择 //显示主菜单 public void mainMenu() { do { Method.DefaultInformationAdd();//初始化录入信息 System.out.println("\n=============学生成绩管理系统============"); System.out.println("\t\t\t1 录入学生信息"); System.out.println("\t\t\t2 查询学生信息"); System.out.println("\t\t\t3 查询某门课程每个学生总评成绩及平均分"); System.out.println("\t\t\t4 查询某门课程学生成绩区段"); System.out.println("\t\t\t5 删除学生信息"); System.out.println("\t\t\t6 退出系统"); System.out.print("请输入你的选择(1-6): "); key = Utility.readChar(); switch (key) { case '1': Method.addMessage(); break; case '2': Method.messageSearch(); break; case '3': Method.sumScore(); break; case '4': Method.scoreSection(); break; case '5': Method.delMessage(); break; case '6': Method.exit(); break; } } while (loop); } }

这是主页面,当然,肯定运行不成功,因为Method类,我没放出来,里面用的都是静态方法,类加载时,就已经初始化了,所以没有创建对象。

(第二种界面)

import java.awt.BorderLayout; import java.awt.Color; import java.awt.Container; import java.awt.Dimension; import java.awt.EventQueue; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JPasswordField; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.JTextField; import javax.swing.Spring; import javax.swing.SpringLayout; import javax.swing.border.EmptyBorder; import javax.swing.SwingConstants; import java.awt.FlowLayout; import java.awt.Font; //登录界面 public class Login extends JFrame implements ActionListener{ private static final long serialVersionUID = 1L;//序列化用到 //定义控件 JPanel jp1; JLabel id,pw,title; JButton login,restart; JTextField id_t; JPasswordField pw_t; SpringLayout springLayout = new SpringLayout(); public Login() { init(); this.setVisible(true); //窗口大小不可变 setResizable(false); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } private void init() { id = new JLabel("账号:"); pw = new JLabel("密码:"); title = new JLabel("学生成绩管理系统"); jp1 = new JPanel(springLayout); id_t = new JTextField(15); pw_t = new JPasswordField(15); login = new JButton("登录"); restart = new JButton("重置"); //监听jb1按钮 login.addActionListener(this); restart.addActionListener(this); //获取内容面板 Container contentPane = getContentPane(); id_t.setPreferredSize(new Dimension(200,30)); pw_t.setPreferredSize(new Dimension(200,30)); //jpanel.add(title,jpanel.CENTER_ALIGNMENT); jp1.add(id); id.setPreferredSize(new Dimension(200,30)); jp1.add(id_t); jp1.add(pw); pw_t.setPreferredSize(new Dimension(200,30)); jp1.add(pw_t); jp1.add(login); jp1.add(restart); jp1.add(title); id.setFont(new Font("微软雅黑",Font.PLAIN,18)); pw.setFont(new Font("微软雅黑",Font.PLAIN,18)); title.setFont(new Font("微软雅黑",Font.PLAIN,28)); springLayout.putConstraint(springLayout.WEST, id, -100, springLayout.HORIZONTAL_CENTER, jp1); springLayout.putConstraint(springLayout.NORTH, id, -200, springLayout.HORIZONTAL_CENTER, jp1); springLayout.putConstraint(springLayout.WEST, id_t, -150, springLayout.EAST, id); springLayout.putConstraint(springLayout.NORTH, id_t, 0, springLayout.NORTH, id); springLayout.putConstraint(springLayout.WEST, pw_t, 0, springLayout.WEST, id_t); springLayout.putConstraint(springLayout.NORTH, pw_t, 0, springLayout.NORTH, pw); springLayout.putConstraint(springLayout.WEST, pw, -100, springLayout.HORIZONTAL_CENTER, jp1); springLayout.putConstraint(springLayout.NORTH, pw, -140, springLayout.HORIZONTAL_CENTER, jp1); //放置button,相对于中心 springLayout.putConstraint(springLayout.EAST, login, 10, springLayout.HORIZONTAL_CENTER, jp1); springLayout.putConstraint(springLayout.NORTH, login, 40, springLayout.SOUTH, pw); springLayout.putConstraint(springLayout.WEST, restart, 40, springLayout.HORIZONTAL_CENTER, jp1); springLayout.putConstraint(springLayout.NORTH, restart, 40, springLayout.SOUTH, pw); //放置title springLayout.putConstraint(springLayout.WEST, title, -5, springLayout.WEST, id); springLayout.putConstraint(springLayout.SOUTH, title, -40, springLayout.NORTH, id); //将中间容器放入内容面板 contentPane.add(jp1,BorderLayout.CENTER); } //事件监听 @Override public void actionPerformed(ActionEvent e) { String ad = "12345"; String psw = "12345"; //登录 if (e.getSource() == login) { String id_s = id_t.getText(); String pw_s = pw_t.getText(); if (id_s.equals(ad)) { if(pw_s.equals(psw)) { WindowOfStudent win = new WindowOfStudent(); win.setBounds(200,200,600,400); win.setTitle("学生成绩管理系统"); this.dispose(); }else { JOptionPane.showMessageDialog(login, "密码错误!!!"); } } else { JOptionPane.showMessageDialog(login, "用户名错误!!!"); } } //重置 if (e.getSource() == restart) { id_t.setText(""); pw_t.setText(""); } } }

这里是登录界面的,里面的监听函数啥的,以及相关按钮设置啥的,借鉴了网上部分代码(小编能力有限。嘴下留情)

其实java作为一门强大的语言,主要写后端,像前端界面不是其优势,开发中也基本不用java写前端界面(这里是小编为自己菜鸡而找的借口)

好了,说了这么废话,主要是小编快封疯了(),所以说话前一句后一句的

 现在还不加上代码获取资源链接,看各位想要同学的评论了,没有评论就不发了,有评论就看看是否公开



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3