《Java学生成绩管理系统实验报告.docx》由会员分享,可在线阅读,更多相关《Java学生成绩管理系统实验报告.docx(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、实验名称学生成绩管理系统指导教师实验类型臼综实验学时8+10实验日期 实验时间实验编号1分组号1实验地点6A-413一、实验目的和要求(1) 掌握java的基本数据类型;掌握数组的定义和使用;(2) 掌握java语言中的控制结构的使用;(3) 掌握java语言中的类的定义与使用;(4) 掌握java语言中继承、多态、接口、抽象类、异常处理等;(5) 掌握图形用户界面设计技术;熟练掌握组件、布局管理器、容器等的使用;掌握菜单技术的使用、掌握java语言中的事件处理。掌握java语言中的各种文件操作,及以字符为单位、以字节为单位的数据流操作和随机文件 的操作;掌握对象的串行化。二、实验环境(实验设
2、备)硬件:微型计算机P4软件:Windows XP+JCreator3. 5 及以上或者 NetBeans三、实验原理及内容实验题目:学生成绩管理软件设计内容:学生成绩管理主要包括如下内容:1)学生档案管理 学生档案信息包括学号、姓名、性别、年级、专业、政治面貌2)课程管理 课程信息包括课程编号、课程名称、学时、学分、课程性质、开课学期3)成绩管理 成绩信息包括学号、课程编号、成绩请根据以上要求编写程序,以图形用户界面菜单形式实现各功能。使用的菜单有:数据录入:包含学生档案、学生成绩、课程信息三个菜单项修改:包括对学生成绩、档案、课程等信息的修改查询:包括对学生成绩、档案、课程信息的查询。统计
3、:包括年级人数、某专业人数、修某课程人数、某学生通过的学分数等功能。显示:也即打印功能,主要是报表打印,包括学生档案表、成绩表、课程表等。k=sst. executeUpdate (/zupdatedocumentsettheology=+text4. getText () +/z,where number=+text. getText ()+ );sst. close ();)catch (SQLException ex) exception2. setText (数据库连接失败);)if(k0) exceptionl. setText (修改成功”);else exception2. se
4、tText (修改失败);)if (e. getSource () =button5) text5. setEditable (true);exceptionl.setText (null);exception2. setText(null);)if (e. getSource()-buttonl5) int k=0;try Class. forName(driverClass);)catch (ClassNotFoundException ee) exceptionl. setText (连接失败);)try con = DriverManager. getConnection (url);
5、sst = con. createStatement ();k=sst. executeUpdate (updatedocumentsetface=+text5. getText ()+where number=+text. getText ()+ );sst. closeO ;)catch (SQLException ex) exception2. setText (数据库连接失败);)if(k0) exceptionl. setText (修改成功);else exception2. setText (修改失败); )修改成绩源代码:public void actionPerformed(
6、ActionEvent e) if (e. getSource()=buttonl) textl. setEditable (true);exceptionl. setText (null);exception2. setText (null);if (e.getSource()=buttonl1) int k=0;try Class. forName(driverClass);con = DriverManager. getConnection(url);)catch (ClassNotFoundException ee) exceptionl. setText (连接失败);)catch(
7、SQLException ee)exception2. setText (数据库连接失败); try (sst = con. createStatement();k=sst. executeUpdate (/zupdate grade set name=+textl. getText ()+ where number=+text. getText () +/z,);sst. closeO ;)catch (SQLException ex) )if(k0) exceptionl. setText (修改成功); else exception2. setText (修改失败);)if(e. get
8、Source()=button2) text2. setEditable (true);exceptionl. setText (null);exception2.setText (null);)if (e.getSource()=buttonl2) int k=0;try Class. forName(driverClass);)catch (ClassNotFoundException ee) exceptionl. setText (连接失败);) try ( con = DriverManager. getConnection(url);sst = con. createStateme
9、nt();k=sst. executeUpdate (,zupdategradesetopentime=+text2. getText () +,z,where number=+text. getText ()+ );sst. close ();)catch (SQLException ex) if(k0) exceptionl. setText (修改成功”); elseexception2. setText (修改失败); )if(e. getSource()=button3) text3. setEditable (true);exceptionl. setText (null);exc
10、eption?. setText (null);if (e.getSource()=buttonl3) int k=0;try Class. forName(driverClass); )catch (ClassNotFoundException ee) exceptionl. setText (连接失败); try ( con = DriverManager. getConnection(url);sst = con. createStatement();k=sst. executeUpdate (updategradesetwuligrade=,+text3. getText () +z/
11、,where number=+text. getText ()+ );sst. closeO ;catch (SQLException ex) )if(k0) exceptionl. setText (修改成功); else exception2. setText (修改失败);) )if (e. getSource () =button4) text4. setEditable (true);exceptionl. setText (null);exception?. setText (null);if (e.getSource()=buttonl4) int k=0; try Class.
12、 forName(driverClass);catch (ClassNotFoundException ee) exceptionl. setText(连接失败);) try con = DriverManager. getConnection(url);sst = con. createStatement();k=sst. executeUpdate (updategradesetjavagrade=+text4. getText ()+where number=,+text. getText () +/z,);sst. close ();)catch (SQLException ex) )
13、if(k0) exceptionl. setText (修改成功); elseexception2. setText (修改失败);)if(e. getSource()=button5) text5. setEditable (true);exceptionl. setText (null);exception2.setText (null);)if(e. getSource()-buttonl5) int k=0;try Class. forName(driverClass);)catch (ClassNotFoundException ee) exceptionl. setText (连接
14、失败); try con 二 DriverManager. getConnection (url);sst = con. createStatement();k=sst. executeUpdate(updategradesetframegrade=,+text5. getText()+where number=+text. getText ()+ );sst. closeO ;)catch (SQLException ex) )if(k0) exceptionl. setText (修改成功); else exception2. setText (修改失败);if(e. getSource(
15、)=button6) text6. setEditable (true);exceptionl. setText (null); exception?.setText (null);)if (e.getSource()=buttonl6) int k=0;try Class. forName(driverClass);catch (ClassNotFoundException ee) exceptionl. setText (连接失败);)try con = DriverManager. getConnection(url);sst = con. createStatement();k=sst
16、. executeUpdate (,zupdategradesetenglishgrade=,+text6. getText() + where number=+text. getText ()+ );sst. close ();)catch (SQLException ex) )if(k0) exceptionl. setText (修改成功);elseexception2. setText (修改失败);) )if(e. getSource ()=button7) text7. setEditable (true);exceptionl.setText (null);exception2.
17、 setText(null);if (e. getSource()=buttonl7) int k=0;try Class. forName(driverClass);)catch (ClassNotFoundException ee) exceptionl. setText (连接失败); try ( con = DriverManager. getConnection(url);sst = con. createStatement ();k=sst. executeUpdate(updategradesetrategrade=+text7. getText () +z/,where num
18、ber=+text. getText ()+ );sst. closeO ;catch (SQLException ex) )if(k0) exceptionl. setText (修改成功); ) else exception2. setText (修改失败); )if (e. getSource()=button8) text8. setEditable (true);exceptionl. setText (null);exception?. setText (null);if(e. getSource()=buttonl8) int k=0;try Class. forName(dri
19、verClass);catch (ClassNotFoundException ee) exceptionl. setText (连接失败); try ( con = DriverManager. getConnection (url);sst = con. createStatement();k=sst. executeUpdate (update grade set gy=+text8, getText ()+ where number=+text. getText ()+ );sst. close (); )catch (SQLException ex) )if(k0) exceptio
20、nl. setText (修改成功); else exception2. setText (修改失败); )if (e. getSource () -button9) text9. setEditable (true);exceptionl. setText (null);exception2. setText (null);if (e.getSource()-buttonl9) int k=0;try Class. forName (driverClass);)catch (ClassNotFoundException ee) exceptionl. setText (连接失败); try
21、con = DriverManager. getConnection (url);sst = con. createStatement();k=sst. executeUpdate (updategradesetinforgrade=,+text9. getText () +z/,where number=+text. getText ()+ );sst. close ();catch (SQLException ex) )if(k0) exceptionl. setText (修改成功); else exception2. setText (修改失败);)if(e. getSource()=
22、buttonlO) textlO. setEditable (true);exceptionl. setText (null);exception2.setText (null);)if (e.getSource()=button20) int k=0;try Class. forName(driverClass);)catch (ClassNotFoundException ee) exceptionl. setText (连接失败);)try (con = DriverManager. getConnection(url);sst = con. createStatement();k=ss
23、t. executeUpdate (/zupdategradesetwaygrade=+textlO. getText () +/z,where number=,+text. getText ()+);sst. close ();)catch (SQLException ex) if(k0) exceptionl. setText (修改成功); elseexception?. setText (修改失败);)修改课程源代码:public void actionPerformed(ActionEvent e) if (e.getSource()=buttonl) textl. setEdita
24、ble (true);exceptionl. setText (null);exception2. setText(null);if(e. getSource ()=buttonl1) int k=0;try Class. forName(driverClass);con = DriverManager. getConnection(url);)catch (ClassNotFoundException ee) exceptionl. setText (连接失败);catch(SQLException ee) exception2. setText (数据库连接失败); try (sst =
25、con.createStatement();k=sst. executeUpdate (/zupdate class set name=+textl. getText()+ where number=+text. getText ()+ );sst. close ();)catch (SQLException ex) if(k0) exceptionl. setText (修改成功); ) elseexception2. setText (修改失败);)if(e. getSource()=button2) text2. setEditable (true);exceptionl. setTex
26、t (null);exception2. setText (null);if (e.getSource()=buttonl2) int k=0;try Class. forName(driverClass);catch (ClassNotFoundException ee) exceptionl. setText (连接失败);退出:结束管理系统要求:1)建立的数据库应该包含三张表、档案表、课程表和成绩表,各表中的字段自行定义。2)数据录入应针对三张表各自设计一个界面进行数据的录入,并提供必要的按钮进行保存、重置和 退出录入等。3)数据修改应针对三张表中已经录入的数据进行部份或者全部进行修改,
27、可以按指定的某学生或者 课程进行学生档案或者成绩或者课程信息修改4)查询:应提花多种选择,对多表进行查询,如查看学生成绩信息,可以考虑输出的内容为:学号、 姓名、课程名称、成绩。5)统计:尽可能地提供各种统计功能。6)显示功能中,尽可能使用表格组件或者Jlist组件或者其他组件展现出要显示的内容以上内容大家可发挥自己的设计理念,尽量做到简便易用、界面美观等。要求:1)数据库必须使用SQL或者oracle; 2)集中指导8学时;课后学时10学时。try con = DriverManager. getConnection (url);sst = con. createStatement();k=
28、sstexecuteUpdate (update class set time=+text2,getText()+ where number+text. getText ()+ );sst. closeO ;)catch (SQLException ex) )if(k0) exceptionl. setText (修改成功); ) else exception2. setText (修改失败); )if (e. getSource () =button3) text3. setEditable (true);exceptionl. setText (null);exception2.setTe
29、xt (null);if (e. getSource()=buttonl3) int k=0; try Class. forName(driverClass);)catch (ClassNotFoundException ee) exceptionl. setText (连接失败);) try con = DriverManager. getConnection(url);sst = con.createStatement();k=sst. executeUpdate (/zupdate class set score=+text3, getText ()+ where number=+tex
30、t. getText ()+ );sst. closeO ;)catch (SQLException ex) )if(k0) exceptionl. setText (修改成功); ) else exception2. setText (修改失败); )if(e. getSource()=button4) text4. setEditable (true);exceptionl. setText (null);exception2.setText (null);if (e. getSource()=buttonl4) int k=0;try Class. forName(driverClass
31、);)catch (ClassNotFoundException ee) exceptionl. setText (连接失败);)try con = DriverManager. getConnection(url);sst = con. createStatement();k=sst. executeUpdate(updateclasssetquality=+text4. getText ()+/z,where number=,+text. getText ()+);sst. close ();)catch (SQLException ex) )if(k0) exceptionl. setT
32、ext (修改成功);)else exception2. setText (修改失败);)if (e. getSource()=button5) text5. setEditable (true);exceptionl.setText (null);exception2.setText (null);)if (e. getSource()=buttonl5) int k=0;try Class. forName(driverClass);catch (ClassNotFoundException ee) exceptionl. setText (连接失败);try con = DriverMa
33、nager. getConnection (url);sst = con. createStatement();k=sst. executeUpdate (z,update class set opentime=,z/+text5. getText ()+ where number=+text. getText ()+);sst. closeO ;)catch (SQLException ex) )if(k0) exceptionl. setText (修改成功);else exception2. setText (修改失败);6)关闭当前图形界面的方法是什么?退出应用程序的方法是什么? 单击
34、右上角的关闭按钮。7)写出专门用于与数据库进行处理等方面的类的源代码。String driverClass = sun.jdbc.odbc.JdbcOdbcDriver”;String url =jdbc:odbc:starr;Connection con=null;Statement sst=null;ResultSet rs=null;int k=0;try Class. forName(driverClass);con = DriverManager. getConnection (url);catch (ClassNotFoundException ee) exceptionl. se
35、tText (连接失败);catch(SQLException ee) exception2. setText (数据库连接失败); try (sst = con.createStatement();k=sst. executeUpdate (zzupdate class set name=+textl. getText ()+ where number=+text. getText ()+ );sst. close ();)catch (SQLException ex) )if(k0) exceptionl. setText (修改成功);)elseexception2. setText (
36、修改失败);8)如果以JTable组件来显示学生档案信息,请写出一个类来实现。 public class ShowClass extends JPanel implements ActionListenerJPanel p;JButton button;JTable table;Object表格单元口 ,列名二课程编号,课程名称,课程学时, 课程学分,课程性质,开课学期匕String driverClass = sun. jdbc. odbc. JdbcOdbcDriver”;String url =,/jdbc: odbc: starr/z;Connection con=null;State
37、ment sst=null;ResultSet rs=null;int i=0;ShowClass () p二new JPanel ();button=new JButton (课程表);表格单元二new Object 10 11;table=new JTable (表格单元,列名);p. add (button);add(p,BorderLayout. NORTH);add(new JScrollPane (table), BorderLayout. CENTER);button. addActionListener(this);)public void actionPerformed(Ac
38、tionEvent e)if (e. getSource () =button) try Class. forName(driverClass);catch (ClassNotFoundException ee) )try con = DriverManager. getConnection (url);sst = con. createStatement();rs=sst. executeQuery (select * from class);while(rs. next () 表格单元i 0=rs. getString(l);表格单元i 1=rs. getString(2);表格单元i 2
39、=rs. getString(3);表格单元i 3=rs. getString(4);表格单元i 4=rs. getString(5);表格单元i 5=rs. getString(6);i+;table, repaint (); rs. close ();sst. close ();catch (SQLException ex) 9)如果将课程信息写一个接口,请给出代码。Public interface classString f (String 编号);String d (String 课程名);Int a(int课程学时);Int b(int课程学分); String c (String
40、课程性质) String s (String 开课时间);10)如果将成绩信息写成一个抽象类,请写出代码。Public abstract class grade Public abstract void wuligrade1();Public abstractPublic abstractvoid javagrade1();void englishgradel ();Public abstract void framegrade1();Public abstract void wuligrade1();Public abstract void ratrgradel();11)如果定义了五个按钮
41、、三个文本域、三个标签,要将它们加到一个JPanel中,再将JPanel对象加到JFame中,请写出实现这些功能的代码。Box Booxl, Boox2, Boox3, Box4;Boox2=Box.createVerticalBox ();Boox3=Box. createVerticalBox();Boox4=Box. createVerticalBox();Booxl=Box. createVerticalBox();Boox2. add(buttonl);Boox2. add(button2);Boox2. add(button3);Boox2. add(button4);Boox2.
42、 add (button5);Boox3. add(textl);Boox3. add(text2);Boox3. add(text3);Boox4. add(labell);Boox4. add(label2);Boox4. add(label3); Booxl. add(Booxl) Booxl. add(Boox2) Booxl. add(Boox3) Booxl. add(Boox4)Panel, add(Booxl);add (Panel, BorderLayout. CENTER);12)如果JPanel要使用FLowLayout布局管理器,请写出实现此功能的代码。1. JFram
43、e jf = new JFrame(LayoutTest);2. jf. setSize (WIDTH, HEIGHT);3. jf. setDefaultCloseOperation(JFrame. EXIT_ON_CLOSE);4. jf. setVisible(true);5. JPanel contentPane = new JPanel();jf.setContentPane(contentPane);实验报告四、实验小结(包括问题和解决方法、心得体味、意见与建议等)1 .开辟此软件你所使用的JDK是哪个版本?使用的哪个集成开辟环境? JDK 1.6 软件:Jcretor3.5 及以
44、上。2 .给出该软件运行时的初始界面?你认为该界面符合正常的实际使用的要求吗?为 什么?符合,该界面直观体现出该程序的目的,且菜单栏也体现出了该程序的功能。3 .你是如何保证菜单项执行了与其相关联的功能?是使用了哪个事件处理? 自己编译运行看运行效果,监听器将对事件做出处理。4 .能否写出在该设计中使用了哪容器、哪组件、哪些接口、哪些事件处理?容器:JPanel. Box组件:JTextField. JButton. JMenuBar. JMenu. JMenuItem. JLabel. JTabel 等。 无接口ActionListener 事件处理5 ,你使用的数据库是什么?Microsoft Access 数据库6 . Java语言中,要加载你所使用的