2022年Java综合性实验学生成绩管理.docx
精品学习资源综合性试验同学成果治理系统班级:数学 092学号: 202112021210姓名:同艳云试验仪器设备: 多媒体运算机;试验目的:在把握相关基础学问的基础上,学会自己设计试验,娴熟把握JDBC 技术拜望数据库(或数据文件)的方法、在Java中进行数据库应用程序开发的方法和步骤,熟识Swing 组件特性和 Action 接口并能够恰当运用实现特定功能,会开发多窗体应用程序;试验要求:在 8 学时以内,制作出能够实现基本功能的同学成果治理系统;写出技术工作报告并附源程序;试验内容及任务:1. 进行数据库(或数据文件)设计,数据分为同学信息、成果治理、信息查询等三部分;使用同学信息表、课程表两个数据表来存放数据;2. 选择适当组件进行界面设计:界面要美观大方,具有主菜单和相应工具栏及按钮;3. 编写大事代码:能够实现同学信息爱护(录入、修改和删除);同学信息浏览;按“学号”查询同学信息;按“姓名”和“所在班级”查询同学信息;按“学院名称”查询同学信息;按课程查询同学成果等功能;4. 分析总结:欢迎下载精品学习资源同学成果治理系统登录查询编辑储备治理学学生生系登基统录本管信添删修理息加除改1. 数据库、数据表(或数据文件)设计;1.1 同学基本信息表包含的信息是同学编号、同学姓名、同学性别、同学年龄、家庭住址、联系电话等信息,设计时留意ID 字段设为主键,设为 Int 类型,如表 4.1所示:表 4.1 同学基本信息表字段名数据类型说明IDInt同学编号NameVarchar10同学姓名SexChar10性别AgeInt年龄AddressVarchar50家庭住址PhoneChar15联系电话1.2 班级基本信息表包括同学编号、科目类型、任课老师、所得分数,ID 设为主键,如表 4.2 所示:表 4.2 班级基本信息信息表欢迎下载精品学习资源字段名数据类型说明IDInt同学编号OTypeVarchar10科目类型ONameVarchar10任课老师Gradeint所得分数2. 主控模块设计;2.1 系统登录界面,如图 4.3-4.6 所示;图 4.3图 4.4欢迎下载精品学习资源2.2 系统主界面,如图 4.6 所示;图 4.5欢迎下载精品学习资源欢迎下载精品学习资源3. 同学信息爱护模块设计;图 4.6欢迎下载精品学习资源3.1 增加同学信息界面,如图 4.7 所示;图 4.73.2 修改同学信息界面,如图 4.8 所示;图 4.83.3. 删除同学信息界面,如图 4.9 所示;图 4.94. 同学信息查询模块设计;4.1 按学号查找同学信息界面,如图4.10 所示;图 4.104.2 按姓名,学号查找同学信息界面,如图4.11 所示;图 4.11试验总结:通过本次试验设计,我对 JAVA的学问又有了更深的明白,而且对Swing 界面设计有了更深的领悟,而且更娴熟使用JAVA和数据库的连接,以及对简洁的数据库查询语 言有了些许明白,然后在编程设计阶段仍是遇到了许多问题,但是通过网上查询资欢迎下载精品学习资源料,以及和同学争辩这些问题都迎刃而解了,必需要有团结合作精神,而且要吃苦耐劳,耐心严谨,这次设计试验对我的学问技能和思维都是一个很好的锤炼;附录1. 系统登录界面程序代码import java.awt.* ;import java.awt.event.*;import javax.swing.* ;class WyFrame extends Frame implements ActionListenerLabel l1,l2;TextField t1,t2;Button b1,b2;public static int k;public WyFramesuper"同学治理系统 ";setBackgroundColor.lightGray;setLayoutnull; setSize240,160; this.setLocationRelativeTonull;l1=new Label" 用户名",Label.CENTER;l2=new Label" 密 码",Label.CENTER;t1=new TextField;t2=new TextField;b1=new Button"登 入";b2=new Button"退 出";l1.setBounds40,45,40,30; l2.setBounds40,80,40,30; t1.setBounds90,45,100,25; t2.setBounds90,80,100,25; b1.setBounds50,115,60,30; b2.setBounds125,115,60,30; b1.addActionListenerthis;b2.addActionListenerthis;addl1;addl2;addt1;addt2;addb1;addb2;this.addWindowListenernew WindowAdapter publicvoid windowClosingWindowEvent edispose;欢迎下载精品学习资源System.exit0;欢迎下载精品学习资源 ;setVisibletrue;欢迎下载精品学习资源public void actionPerformedActionEvent eife.getSource=b1k=1;ife.getSource=b2k=2;repaint;ifk=1ift1.getText.toString.trim.equals"09321104"&& t2.getText.toString.trim.equals"880902"欢迎下载精品学习资源elseMyMenu hyf=new MyMenu ;this.setVisiblefalse;ift1.getText.toString.trim.equals"09321104"欢迎下载精品学习资源不匹配! ";";elseJOptionPane.showMessageDialogthis,密"JOptionPane.showMessageDialogthis,用"码与用户名户名错误!欢迎下载精品学习资源ifk=2dispose;System.exit0;public class Loginpublic static void mainString argsWyFrame hyf=new WyFrame;欢迎下载精品学习资源2. 系统主界面程序代码(含有菜单) import java.awt.* ;import java.awt.event.*;import java.util.* ;public class MyMenu extends Frame implements ActionListenerpublic MyMenusuper"同学治理系统 ";setSize400,300;setBackgroundColor.lightGray;setVisibletrue;setLocationRelativeTonull;this.addWindowListenernew WindowAdapterpublic void windowClosingWindowEvent e dispose;欢迎下载精品学习资源 ;System.exit0;Menu file=new Menu" 文件";MenuItem exit=new MenuItem" 退出";file.addexit;Menu student=new Menu"同学信息治理 ";MenuItem ins=new MenuItem"增加同学信息 ";MenuItem del=new MenuItem"删除同学信息 ";MenuItem upd=new MenuItem"修改同学信息 ";MenuItem sel=new MenuItem"查找同学信息 ";student.addins;student.adddel;student.addupd;student.addsel; MenuBar hyf=new MenuBar;欢迎下载精品学习资源hyf.addfile ;hyf.addstudent;setMenuBarhyf;exit.addActionListenerthis;ins.addActionListenerthis;del.addActionListenerthis;upd.addActionListenerthis;sel.addActionListenerthis;public void actionPerformedActionEvent eString strCmd=e.getActionCommand;ifstrCmd.equals"退出"System.exit0;欢迎下载精品学习资源ifstrCmd.equals"增加同学信息 "Insert ins=new Insert;ifstrCmd.equals"删除同学信息 "Insert del=null;ifstrCmd.equals"修改同学信息 "Update upd=new Update;ifstrCmd.equals"查询同学信息 "Select sel=new Select;repaint;3. 添加同学信息界面程序代码import java.awt.* ;import java.awt.event.*;import javax.swing.* ;import java.util.* ;public class Insert extends Frame implements ActionListener ,ItemListenerCheckboxGroup cg=new CheckboxGroup;Label l1,l2,l3,l4,l5,l6,l7 ;TextField t1,t2,t3,t4,t5,t6,t7;Button b1,b2;Checkbox c1,c2;public static Student hyf;public static String a1,a2,a3,a4,a5,a6,a;7 public Insertsuper"添加同学信息界面 ";setBackgroundColor.lightGray;setLayoutnull;l1=new Label" 姓名",Label.CENTER ;l2=new Label" 性别",Label.CENTER ;l3=new Label" 产生日期 ",Label.CENTER ;l4=new Label" 学号",Label.CENTER ;l5=new Label" 运算机成果 ",Label.CENTER ;l6=new Label" 英语成果 ",Label.CENTER ;l7=new Label" 数学成果 ",Label.CENTER ;c1=new Checkbox"男",cg,true;欢迎下载精品学习资源c2=new Checkbox"女",cg,false;c1.addItemListenerthis;c2.addItemListenerthis; t1=new TextField;t2=new TextField;t3=new TextField;t4=new TextField;t5=new TextField;t6=new TextField;t7=new TextField;b1=new Button"确定" ;b2=new Button"退出" ;b1.addActionListenerthis;b2.addActionListenerthis;addl1;addt1;addl2;addt2;addl3;addt3;addl4;addt4;addl5;addt5;addl6;addt6;addl7;addt7;addb1;addb2;addc1;addc2;l1.setBounds40,60,70,30; l2.setBounds40,90,70,30; l3.setBounds40,120,70,30; l4.setBounds40,150,70,30; l5.setBounds40,180,70,30; l6.setBounds40,210,70,30; l7.setBounds40,240,70,30; t1.setBounds120,60,100,30;c1.setBounds120,90,50,30; c2.setBounds170,90,50,30;t3.setBounds120,120,100,30; t4.setBounds120,150,100,30; t5.setBounds120,180,100,30; t6.setBounds120,210,100,30; t7.setBounds120,240,100,30; b1.setBounds100,280,80,30; b2.setBounds200,280,80,30; c1.setStatetrue;a2="男" ;addWindowListenernew WindowAdapter欢迎下载精品学习资源public void windowClosingWindowEvent edispose;System.exit0; ;/关闭窗口setSize400,350; setLocationRelativeTonull;setVisibletrue;public void itemStateChangedItemEvent eife.getItemSelectable=c1 a2="男" ;ife.getItemSelectable=c2 a2="女" ;public void actionPerformedActionEvent eString strCmd=e.getActionCommand;ifstrCmd.equals"退出" this.hide ; ifstrCmd.equals"确定"a1=t1.getText;char c1=a2.toCharArray;a3=t3.getText;a4=t4.getText;a5=t5.getText;a6=t6.getText;a7=t7.getText;hyf.setcompScore Integer.parseInta5.trim; hyf.setengScoreInteger.parseInta6.trim; hyf.setmathScoreInteger.parseInta7.trim;repaint;4. 修改同学记录界面程序代码import java.awt.* ;import java.awt.event.*;import javax.swing.* ;import java.util.* ;public class Update extends Frame implements ActionListener欢迎下载精品学习资源Label l1,l2,l3,l4,l5,l6,l7 ;TextField t1,t2,t3,t4,t5,t6,t7;Button b1,b2;public static String a1,a2,a3,a4,a5,a6,a;7 public Updatesuper"同学治理增加同学界面 ";setBackgroundColor.lightGray;setLayoutnull;l1=new Label" 姓名",Label.CENTER ;l2=new Label" 性别",Label.CENTER ;l3=new Label" 产生日期 ",Label.CENTER ;l4=new Label" 学号",Label.CENTER ;l5=new Label" 运算机成果 ",Label.CENTER ;l6=new Label" 英语成果 ",Label.CENTER ;l7=new Label" 数学成果 ",Label.CENTER ;t1=new TextField;t2=new TextField;t3=new TextField;t4=new TextField;t5=new TextField;t6=new TextField;t7=new TextField;b1=new Button"确定" ;b2=new Button"退出" ;b1.addActionListenerthis;b2.addActionListenerthis;addl1;addt1;addl2;addt2; addl3;addt3; addl4;addt4; addl5;addt5; addl6;addt6; addl7;addt7; addb1;addb2;l1.setBounds40,60,70,30; l2.setBounds40,90,70,30; l3.setBounds40,120,70,30; l4.setBounds40,150,70,30; l5.setBounds40,180,70,30; l6.setBounds40,210,70,30; l7.setBounds40,240,70,30;t1.setBounds120,60,100,30;欢迎下载精品学习资源t2.setBounds120,90,100,30; t3.setBounds120,120,100,30; t4.setBounds120,150,100,30; t5.setBounds120,180,100,30; t6.setBounds120,210,100,30; t7.setBounds120,240,100,30; b1.setBounds100,280,80,30; b2.setBounds200,280,80,30;addWindowListenernew WindowAdapterpublic void windowClosingWindowEvent edispose;System.exit0; ;/关闭窗口setSize400,350; setLocationRelativeTonull;setVisibletrue;public void actionPerformedActionEvent eString strCmd=e.getActionCommand;ifstrCmd.equals"退出" this.hide ; ifstrCmd.equals"确定"a1=t1.getText;String a2=t2.getText;char c1=a2.toCharArray;a3=t3.getText;a4=t4.getText;a5=t5.getText;a6=t6.getText;a7=t7.getText;Insert.hyf.name=a1;Insert.hyf.sex=c10;Insert.hyf.birthday=a3;Insert.hyf.number=a4;Insert.hyf.setcompScore Integer.parseInta5.trim; Insert.hyf.setengScoreInteger.parseInta6.trim; Insert.hyf.setmathScoreInteger.parseInta7.trim;欢迎下载精品学习资源repaint;5. 查找同学记录界面程序设计import java.awt.* ;import java.awt.event.*;import javax.swing.* ;import java.util.* ;public class Select extends Frame implements ActionListenerLabel l1,l2,l3,l4,l5,l6,l7,l8,l9,l10 ;TextField t1,t2,t3,t4,t5,t6,t7,t8,t9,t10;Button b1,b2;public Selectsuper"同学治理查询同学界面 ";setBackgroundColor.lightGray;setLayoutnull;l1=new Label" 姓名",Label.CENTER ;l2=new Label" 性别",Label.CENTER ;l3=new Label" 产生日期 ",Label.CENTER ;l4=new Label" 学号",Label.CENTER ;l5=new Label" 运算机成果 ",Label.CENTER ;l6=new Label" 英语成果 ",Label.CENTER ;l7=new Label" 数学成果 ",Label.CENTER ;l8=new Label" 最大值",Label.CENTER;l9=new Label" 最小值",Label.CENTER;l10=new Label"平均值 ",Label.CENTER ;t1=new TextField;t2=new TextField;t3=new TextField;t4=new TextField;t5=new TextField;t6=new TextField;t7=new TextField;t8=new TextField;t9=new TextField;t10=new TextField;b1=new Button"查询" ;b2=new Button"退出" ;b1.addActionListenerthis;b2.addActionListenerthis;addl1;addt1;欢迎下载精品学习资源addl2;addt2;addl3;addt3;addl4;addt4;addl5;addt5;addl6;addt6;addl7;addt7;addb1;addb2;addt8;addt9;addt10;addl8;addl9;addl10;l1.setBounds40,60,70,30; l2.setBounds40,90,70,30; l3.setBounds40,120,70,30; l4.setBounds40,150,70,30; l5.setBounds40,180,70,30; l6.setBounds40,210,70,30; l7.setBounds40,240,70,30; l8.setBounds40,270,70,30; l9.setBounds40,300,70,30; l10.setBounds40,330,70,30;t1.setBounds120,60,100,30; t2.setBounds120,90,100,30; t3.setBounds120,120,100,30; t4.setBounds120,150,100,30; t5.setBounds120,180,100,30; t6.setBounds120,210,100,30; t7.setBounds120,240,100,30; t8.setBounds120,270,100,30; t9.setBounds120,300,100,30; t10.setBounds120,330,100,30; b1.setBounds100,370,80,30; b2.setBounds200,370,80,30;addWindowListenernew WindowAdapterpublic void windowClosingWindowEvent e欢迎下载精品学习资源 ;dispose;System.exit0;欢迎下载精品学习资源setSize400,450; setLocationRelativeTonull;setVisibletrue;欢迎下载精品学习资源public void actionPerformedActionEvent eString strCmd=e.getActionCommand;ifstrCmd.equals"退出" this.hide;ifstrCmd.equals"查询"t1.setTextInsert.hyf.name.toString; t2.setTextString.valueOfInsert.hyf.sex; t3.setTextInsert.hyf.birthday; t4.setTextInsert.hyf.number; t5.setTextString.valueOfInsert.hyf.getcompScore; t6.setTextString.valueOfInsert.hyf.getengScore.toString;t7.setTextString.valueOfInsert.hyf.getmathScore.toString; t8.setTextString.valueOfInsert.hyf.getMaxScore; t9.setTextString.valueOfInsert.hyf.getMinScore;t10.setTextString.valueOfInsert.hyf.getAverScore;repaint;欢迎下载