Java程序设计案例教程模块.ppt
《Java程序设计案例教程模块.ppt》由会员分享,可在线阅读,更多相关《Java程序设计案例教程模块.ppt(80页珍藏版)》请在三一办公上搜索。
1、,模块九单机版考试系统的整合与测试,目标 该考试系统对各专业课程的问卷进行整理入库,以便在需要的时候能够及时、方便、快速的对学生进行各级测试,从而使考试过程趋于简单化,减少教师在这方面的工作负担。,学习本模块涉及哪些重要内容?,本模块导读本模块是单机版考试系统的整合。主要介绍的是学生单机考试程序的设计过程,提供了试题选取,查看分数,计时器,试题显示读取试题,计算分数等功能。该考试系统对各专业课程的问卷进行整理入库,以便在需要的时候能够及时、方便、快速的对学生进行各级测试,从而使考试过程趋于简单化,减少教师在这方面的工作负担。在以往的教学中,教师通过考试来检验学生的学习成果,而这就需要教师进行大
2、量的工作,编写试题,排版,印刷,还要对学生的考卷进行解析,不仅耗费了大量的时间也花费了大量的精力。这种繁重的工作严重的影响了教师的工作效率,这些都成为教学现代化发展的严重阻碍。在此情况下,急需一个应用计算机来进行标准化考试的系统来实现教务工作的自动化或半自动化管理。,学习本模块涉及哪些重要内容?,本模块要点单机版考试系统的设计单机版考试系统的开发单机版考试系统的发布单机版考试系统的测试,任务一单机版考试系统的设计,子任务1 设计内容 本系统适用各级院校的考试项目,其主要功能分为:身份验证可以检测用户的身份。试题选择在此可以对考试题进行选择,找到你所要的试题类型。查分系统用于教师或学生对所答题进
3、行核对。计时系统对考试的时间进行规定,可以根据所需来自己制定试题显示对考生多进行的考试内容惊醒显示的区域。本系统适合各级院校的标准考试,可以有效的提高教师的工作效率。整个系统的开发过程严格遵循软件工程的要求,做到模块化设计。,任务一单机版考试系统的设计,子任务2 设计要求 根据本系统的需要本系统可以进行任何标准化考试,提供了试题选取,查看分数,计时器,试题显示读取试题,计算分数等功能。此考试系统,对各专业课程的问卷进行整理入库,以便在需要的时候能够及时、方便、快速的对学生进行各级测试,从而使考试过程趋于简单化,减少教师在这方面的工作负担。用户可以选择一套标准化考试试题 每套试题的考试用时由试题
4、文件或试题数据库给出。开始读取试题后,计时器开始计划时,用户提交答案后,可以读取下一道题目。一个提示栏显示所剩余的考试时间,当规定时间用尽后,用户将不能再读取任何题目。,任务一单机版考试系统的设计,子任务2 总体设计 试题文件文件内容必须遵守如下的书写规范:试题文件的第一行是全部试题的答案,答案之间不可以有空格。第二行是试题文件的考试用时,如0:36:45第道题目之间用“*”开头的字符串分割。最后一行是endend试题文件信息表设置需如下字段:TXTID试题文件编号,文本类型。TXT试题文件名字,文本类型。TIME试题文件考试用时,数字类型。,任务二单机版考试系统的开发,子任务1 身份验证Lo
5、gin类 成员变量成员变量的定义见表9-1。,表9-1 主要成员变量,任务二单机版考试系统的开发,子任务1 身份验证Login类 成员方法成员方法的定义见表9-2。,表9-2 主要成员方法,任务二单机版考试系统的开发,子任务1 身份验证Login类 部分代码段trystmt=con.createStatement();ps=con.prepareStatement(select PWD from LoginRecord where ID=?);ps.setString(1,ID);rs=ps.executeQuery();if(rs.next()if(rs.getString(PWD).equ
6、als(PWD)new JavaTest();System.out.println(OK);,任务二单机版考试系统的开发,子任务1 身份验证Login类 elseJOptionPane.showMessageDialog(null,你输入的密码错误!,登录失败,JOptionPane.ERROR_MESSAGE);elseJOptionPane.showMessageDialog(null,你输入的用户名错误!,登录失败,JOptionPane.ERROR_MESSAGE);catch(final SQLException e)System.err.println(SQLException:+
7、e.getMessage();finallyif(stmt!=null)try,任务二单机版考试系统的开发,子任务1 身份验证Login类 stmt.close();catch(final SQLException e)if(con!=null)trycon.close();catch(final SQLException e),任务二单机版考试系统的开发,子任务2 考试系统JavaTest类 成员变量成员变量的定义见表9-3。,表9-3 主要成员变量,任务二单机版考试系统的开发,子任务2 考试系统JavaTest类 成员方法成员方法的定义见表9-4。,表9-4 主要成员方法,任务二单机版考试
8、系统的开发,子任务2 考试系统JavaTest类 部分代码import java.awt.*;import java.awt.event.*;import javax.swing.*;public class JavaTest extends JFrame implements ActionListenerTestArea testPanel=null;Container con=null;private JMenu File=new JMenu(文件);private JMenu Edit=new JMenu(编辑);private JMenu Help=new JMenu(帮助);,任务二
9、单机版考试系统的开发,子任务2 考试系统JavaTest类 部分代码JMenuItem Open=new JMenuItem(打开);JMenuItem Exit=new JMenuItem(退出);public JavaTest()super(标准化模拟考试);testPanel=new TestArea();con=getContentPane();con.add(testPanel,BorderLayout.CENTER);addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)System
10、.exit(0);,任务二单机版考试系统的开发,子任务2 考试系统JavaTest类 部分代码 setVisible(true);setBounds(60,40,660,460);con.validate();validate();/添加菜单栏JMenuBar JMB=new JMenuBar();File.add(Open);File.add(Exit);JMB.add(File);JMB.add(Edit);,任务二单机版考试系统的开发,子任务2 考试系统JavaTest类 部分代码JMB.add(Help);setJMenuBar(JMB);Open.addActionListener(
11、this);Exit.addActionListener(this);/添加结束,任务二单机版考试系统的开发,子任务3 考试区域TestArea类 成员变量,任务二单机版考试系统的开发,子任务3 考试区域TestArea类 成员方法成员方法的定义见表9-6。,表9-6 主要成员方法,任务二单机版考试系统的开发,子任务3 考试区域TestArea类 文本文件方式部分代码 public TestArea()list=new Choice();String currentdir=System.getProperty(user.dir);System.out.println(currentdir);F
12、ile dir=new File(currentdir);FileName fileTxt=new FileName(txt);String fileName=dir.list(fileTxt);for(int i=0;ifileName.length;i+)list.add(fileNamei);,任务二单机版考试系统的开发,子任务3 考试区域TestArea类 文本文件方式部分代码 testplay=new JTextArea(15,12);testplay.setLineWrap(true);testplay.setWrapStyleWord(true);testplay.setFont
13、(new Font(TimesRoman,Font.PLAIN,14);testplay.setForeground(Color.blue);messagearea=new JTextArea(8,8);messagearea.setForeground(Color.blue);messagearea.setLineWrap(true);messagearea.setWrapStyleWord(true);countTime=new Thread(this);String s=A,B,C,D;,任务二单机版考试系统的开发,子任务3 考试区域TestArea类 文本文件方式部分代码 box=ne
14、w JCheckBox4;for(int i=0;i4;i+)boxi=new JCheckBox(si);pauseorcontinuetime=new JButton(暂停计时);pauseorcontinuetime.addActionListener(this);commitresult=new JButton(提交该题答案);readnext=new JButton(读取第一题);readnext.setForeground(Color.blue);commitresult.setForeground(Color.blue);,任务二单机版考试系统的开发,子任务3 考试区域TestA
15、rea类 文本文件方式部分代码 viewscore=new JButton(查看分数);viewscore.setForeground(Color.blue);commitresult.setEnabled(false);commitresult.addActionListener(this);readnext.addActionListener(this);viewscore.addActionListener(this);list.addItemListener(this);readtests=new ReadTestquestion();JPanel pAddbox=new JPanel
16、();for(int i=0;i4;i+)pAddbox.add(boxi);,任务二单机版考试系统的开发,子任务3 考试区域TestArea类 文本文件方式部分代码 Box boxH1=Box.createVerticalBox(),boxH2=Box.createVerticalBox(),baseBox=Box.createHorizontalBox();boxH1.add(new JLabel(选择试题文件);boxH1.add(list);boxH1.add(new JScrollPane(messagearea);boxH1.add(viewscore);timeShow=new
17、JTextField(20);timeShow.setHorizontalAlignment(SwingConstants.RIGHT);timeShow.setEditable(false);JPanel p1=new JPanel();,任务二单机版考试系统的开发,子任务3 考试区域TestArea类 文本文件方式部分代码 p1.add(new JLabel(剩余时间:);p1.add(timeShow);p1.add(pauseorcontinuetime);boxH1.add(p1);boxH2.add(new JLabel(试题内容:);boxH2.add(new JScrollPa
18、ne(testplay);JPanel p2=new JPanel();p2.add(pAddbox);p2.add(commitresult);p2.add(readnext);boxH2.add(p2);baseBox.add(boxH1);,任务二单机版考试系统的开发,子任务3 考试区域TestArea类 文本文件方式部分代码 baseBox.add(boxH2);setLayout(new BorderLayout();add(baseBox,BorderLayout.CENTER);welcomeLabel=new JLabel(欢迎考试,提高英语水平,JLabel.CENTER);
19、welcomeLabel.setFont(new Font(隶书,Font.PLAIN,24);welcomeLabel.setForeground(Color.blue);add(welcomeLabel,BorderLayout.NORTH);public void itemStateChanged(ItemEvent e),任务二单机版考试系统的开发,子任务3 考试区域TestArea类 文本文件方式部分代码 timeShow.setText(null);iclosetime=false;ipausetime=false;pauseorcontinuetime.setText(暂停计时)
20、;String name=(String)list.getSelectedItem();readtests.setFilename(name);readtests.settestover(false);time=readtests.getTime();if(countTime.isAlive()iclosetime=true;countTime.interrupt();,任务二单机版考试系统的开发,子任务3 考试区域TestArea类 文本文件方式部分代码 countTime=new Thread(this);messagearea.setText(null);testplay.setText
21、(null);readnext.setText(读取第一题);commitresult.setEnabled(false);readnext.setEnabled(true);welcomeLabel.setText(欢迎考试,你选择的试题:+readtests.getFilename();public void actionPerformed(ActionEvent e)if(e.getSource()=readnext),任务二单机版考试系统的开发,子任务3 考试区域TestArea类 文本文件方式部分代码 readnext.setText(读取下一题);commitresult.setE
22、nabled(true);String contentTest=readtests.getTestContent();testplay.setText(contentTest);messagearea.setText(null);readnext.setEnabled(false);trycountTime.start();catch(Exception event),任务二单机版考试系统的开发,子任务3 考试区域TestArea类 文本文件方式部分代码 if(e.getSource()=commitresult)readnext.setEnabled(true);commitresult.s
23、etEnabled(false);String answer=?;for(int i=0;i4;i+)if(boxi.isSelected()answer=boxi.getText();boxi.setSelected(false);break;,任务二单机版考试系统的开发,子任务3 考试区域TestArea类 文本文件方式部分代码 readtests.setSelection(answer);if(e.getSource()=viewscore)int score=readtests.getScore();String messages=readtests.getMessages();mes
24、sagearea.setText(分数:+score+n+messages);if(e.getSource()=pauseorcontinuetime)if(ipausetime=false)pauseorcontinuetime.setText(继续计时);ipausetime=true;else if(ipausetime=true),任务二单机版考试系统的开发,子任务3 考试区域TestArea类 文本文件方式部分代码 pauseorcontinuetime.setText(暂停计时);ipausetime=false;countTime.interrupt();public synch
25、ronized void run()while(true)if(time=0)iclosetime=true;countTime.interrupt();,任务二单机版考试系统的开发,子任务3 考试区域TestArea类 文本文件方式部分代码 commitresult.setEnabled(false);readnext.setEnabled(false);timeShow.setText(用时尽,考试结束);else if(readtests.gettestover()iclosetime=true;timeShow.setText(考试效果:分数*剩余时间(秒)=+1.0*readtest
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 程序设计 案例 教程 模块
链接地址:https://www.31ppt.com/p-6510011.html