视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
java课程设计报告 学生考试系统
2025-09-29 05:23:15 责编:小OO
文档
           吉林大学软件学院      《Java语言程序设计课程设计》

课程设计报告

                         

题    目             

指导老师              

2012 年 5 月 29 

目 录     

第1章小组成员介绍.............................3

第2章系统设计目的.............................3

第3章系统实现思路及设计............................4

第4章系统调试运行..............................6

第5章课程设计心得..............................8

第6章附录...............................8

第1章  小组成员介绍

学号姓名比例分配
                    第2章   系统设计目的

1)设计一个客观题考试系统,实现以下功能:

1.学生可以登录系统,选择考试科目,在规定时间内答完题目,退出;

       2.教师可以登录系统,添加、修改、删除、查找试题题目,还可以查看考试科目分数结果、批量录入试题及更改密码等;

       3.管理员可以登录系统,对科目、考试科目、任课教师信息和考试学生信息进行管理,如添加、查看、修改和删除等操作,还可以查看考试结果,批量录入科目、考试科目、任课教师和考生信息,更改密码等。

2) 通过这次设计,旨在:

       1.提高对java语言设计的掌握能力;

       2.理论联系实际,进一步提高学生的软件开发技术;

       3.使学生初步了解java项目的开发过程,培养团队意识;

       3.培养学生分析、解决问题的能力。

            第3章   系统实现思路及详细设计

一.

总体设计

二.

1)学生模块

2)教师模块

3)数据库设计模块

     利用数据库的查询,插入,更新简单易于管理数据的特性,我组决定使用数据库来存储数据,能很大程度上提高考试系统的性能,使其更稳定,简便。仔细考察题目要求,把要存储的内容提取出其属性,建成一些数库中的表,将java与数据库连接之后,在界面上的一些修改等操作会反应对表的操作,同时可以通过界面操作来动态创建和删除数据库中的表。

4)管理模块

             第4章   系统调试运行

一、登陆界面

一、功能                       

1)学生考试

2)教师管理

3)管理员

  

                      

第5章 课程设计心得

经过四个星期的课程设计,我组顺利完成该课程设计。通过该课程设计,收获颇多。

首先,是我们加深了对Java语言的理论知识的理解;

其次,让我们更加熟练的掌握了Java语言的设计能力并且有了实践经验;

再次,在设计过程中,学到了老师没有在课堂上没有教授的知识;

最后,加强了我们对Java语言的学习兴趣和好感。

                     第6章     附录

1.登陆界面代码

import java.awt.Font;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.ItemEvent;

import java.awt.event.ItemListener;

import javax.swing.ButtonGroup;

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.JRadioButton;

import javax.swing.JTextField;

public class main_login extends JPanel implements ItemListener {

     JFrame frame=new JFrame("考试系统");

      JLabel name;

      JLabel pas;

      JTextField tname;

      JPasswordField tpas;

      JRadioButton s_jbu;

      JRadioButton t_jbu;

      JRadioButton m_jbu;

      JButton login;

      JButton reset_button;

      int k=0;

      main_login(){

          name=new JLabel("用户名");

          tname=new JTextField(20);

          pas=new JLabel("密码");

          tpas=new JPasswordField(20);

          s_jbu=new JRadioButton("学生");

          t_jbu=new JRadioButton("教师");

          m_jbu=new JRadioButton("管理员");

          login=new JButton("登录");

          reset_button = new JButton("重填");

          this.setLayout(null);

          name.setBounds(50,50,150,60);

          tname.setBounds(170,50,200,50);

          pas.setBounds(50,160,150,60);

          tpas.setBounds(170,160,200,50);

          s_jbu.setBounds(50,310,100,40);

          t_jbu.setBounds(170,310,100,40);

          m_jbu.setBounds(290,310,100,40);

          login.setBounds(410,310,100,40);

          //reset_button.setBounds();

          Font fnt=new Font("Serief",Font.BOLD,20);

          name.setFont(fnt);

          pas.setFont(fnt);

          s_jbu.setFont(fnt);

          t_jbu.setFont(fnt);

          m_jbu.setFont(fnt);

          login.setFont(fnt);

          ButtonGroup group=new ButtonGroup();

          group.add(s_jbu);

          group.add(t_jbu);

          group.add(m_jbu);

          this.add(name);

          this.add(tname);

          this.add(pas);

          this.add(tpas);

          this.add(s_jbu);

          this.add(t_jbu);

          this.add(m_jbu);

          this.add(login);

          this.add(reset_button);

          reset_button.addActionListener(new ActionListener(){

               public void actionPerformed(ActionEvent e){

                  tname.setText("");

                  tpas.setText("");

                                 }  

          });

          s_jbu.addItemListener(this);

          t_jbu.addItemListener(this);

          m_jbu.addItemListener(this);

          login.addActionListener(new ActionListener(){

              public void actionPerformed(ActionEvent e){

                  String s=tname.getText();

                  String p=tpas.getText();

                  try{

                                          if(k==1){              

                      if(new ResultSetDemo01().check(s, p,k)){

                          S1.login=s;

                          new S1().diaplay();

                          tname.setText("");

                          tpas.setText(""); 

                      }

                     else{

                         JOptionPane.showMessageDialog(null, "用户名或密码错误");

                         tname.setText("");

                         tpas.setText(""); 

                      }

                     }

                     else if(k==2){

                         

                         if(new ResultSetDemo01().check(s, p,k)){

                              T_new1.t_login=s;

                              //System.out.println(T_new1.t_login);

                              new T_new1().diaplay();

                              tname.setText("");

                                 tpas.setText(""); 

                          }

                         else{

                             JOptionPane.showMessageDialog(null, "用户名或密码错误");

                             tname.setText("");

                             tpas.setText(""); 

                          }     

                     }else

                         if(k==3){

                             if(new ResultSetDemo01().check(s, p,k)){

                                 M1.login=s;

                                  new M1().display();

                                  tname.setText("");

                                     tpas.setText(""); 

                              }

                             else{

                                 JOptionPane.showMessageDialog(null, "用户名或密码错误");

                                 tname.setText("");

                                 tpas.setText(""); 

                              }

                         }

                  }catch (Exception ee) {

                    // TODO: handle exception

                }

                

              }

                

          });

                

     }

      public void itemStateChanged(ItemEvent e){

          if(e.getSource()==s_jbu){

              k=1;

          }else

              if(e.getSource()==t_jbu){

                  k=2;

              }else

                  if(e.getSource()==m_jbu){

                      k=3;

                  }

          

      }

      

      public static void main(String[] args) {

         

          JFrame frame=new JFrame("考试系统");

          frame.add(new main_login());

          frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

          frame.setVisible(true);

          frame.setSize(600,400);

          frame.setLocationRelativeTo(null);

    }

}

2.学生考试部分代码

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.sql.Date;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

import javax.swing.JTextArea;

import javax.swing.JTextField;

import javax.swing.JLabel;

public class S2 extends JPanel implements ActionListener{

    JTextField grade;

    JTextArea jtx;

    JButton jb1;

    JButton jb2;

    JTextField ans;

    JButton jb3;

    String ds;

    JLabel jl;

    JLabel jl1;

    int np[]=new int[200];

    

    int p;

    int count;

    String myAns[]=new String[1000];

    String trueAns[]=new String[1000];

    int tscore[]=new int [1000];

    int myscore=0;

    int w;

    JButton end;

    S2(){

        

        try{

        np= new get_test_number().readnumber(S1.choose);

        count=np.length;

        }catch (Exception e) {

            // TODO: handle exception

        }

        

        try{

            p=0;

            StringBuffer buf=new ClobDemo02().readcontent(np[p]);

            ds=new String(buf);

            

            }catch (Exception e) {

                // TODO: handle exception

            }

        grade=new JTextField();

        grade.setEditable(false);

        end = new JButton("交卷");

        jtx=new JTextArea(ds);    

        jtx.setSize(400, 500);

        jtx.setEditable(false);

        jl=new JLabel("答案:");//增加2

        jl1=new JLabel("分数:");//增加1

        jb1=new JButton("上一题");

        jb2=new JButton("下一题");

        jb3=new JButton("提交");/////////改一下位置

        ans=new JTextField(50);

        jtx.setLineWrap(true);

        this.setLayout(null);

        jl1.setBounds(400,100,50,30);//改动3

        grade.setBounds(440,100,50,30);

        jtx.setBounds(30,30,300,200);

        jl.setBounds(50,250,60,30);

        jb1.setBounds(90,350,80,30);

        jb2.setBounds(195,350,80,30);

        ans.setBounds(100,250,80,30);

        jb3.setBounds(190,250,80,30);

        end.setBounds(410,180,80,30);

        jb1.addActionListener(this);

        jb2.addActionListener(this);

        jb3.addActionListener(this);

        end.addActionListener(this);

        this.add(jb1);

        this.add(jl);

        this.add(jl1);

        this.add(jb2);

        this.add(ans);

        this.add(jb3);

        this.add(jtx);

        this.add(end);

        this.add(grade);

        

    }

     

        void  display(){

           JFrame frame=new JFrame("答题页面");

           frame.setLocationRelativeTo(null);

           frame.add(this);

           frame.setVisible(true);

           frame.setSize(600, 500);//改动4

        }

    public void actionPerformed(ActionEvent e){

       if(e.getSource()==jb1){

           if(p>0){

               try{

                   p--;

                    StringBuffer buf=new ClobDemo02().readcontent(np[p]);

                    ds=new String(buf);

        

                    jtx.setText(ds);

                    }catch (Exception ew) {

                        // TODO: handle exception

                    }  

           }

           

           

       }else

           if(e.getSource()==jb2){

               p+=1;

               if(p<5){

               try{

                    StringBuffer buf=new ClobDemo02().readcontent(np[p]);

                    ds=new String(buf);

                    //System.out.println(ds);

                    jtx.setText(ds);

                    }catch (Exception ew) {

                        // TODO: handle exception

                    }  

               }else

               {

                   JOptionPane.showMessageDialog(null, "题已经答完应该交卷了");   

               }                  

           }else

               if(e.getSource()==jb3){

                  String f= ans.getText();

                  myAns[p]=f;

                  ans.setText(""); 

               }else

                   if(e.getSource()==end){

                       System.out.println("hello   "+count);            

                       try{

                          /* java.util.Date   nows=new   java.util.Date();

                           int hh=nows.getHours();

                           int mm=nows.getMinutes();

                           int lk=hh*60+mm;

                           String ti=new read_test_time().readtesttime(S1.choose); 

                           String hh1=ti.substring(0, 3);

                           String mm1=ti.substring(4, 7);

                int rt1=new Integer(hh1.charAt(0))*10+new Integer(hh1.charAt(1));

                int rt2=new Integer(hh1.charAt(2))*10+new Integer(hh1.charAt(3));

                           int rt= (rt1)*60+rt2+3;*/

                // if(lk>rt){  

                           ClobDemo04 da=new ClobDemo04();

                           ClobDemo03 db=new ClobDemo03();

                    for(int i=0;i                        trueAns[i]=da .readanswer(np[i]);

                        tscore[i]=db.readscore(np[i]);

                    }                    

                    for(int i=0;i                    System.out.println(trueAns[i]);

                    System.out.println(tscore[i]);

                    }

                    myscore=0;

                    for(int i=0;i                        if(trueAns[i].equals(myAns[i])){

                            myscore+=tscore[i];

                        }

                    }

                    String sr=""+myscore;

                    grade.setText(sr);

                    System.out.println("我的成绩:"+myscore);

                    String sd=new Read_S_name().readname(new Integer(S1.login));

                    System.out.println(sd);

                    new S_record().intsert_s_record(new Integer(S1.login), sd, myscore);

                    

                // } else{

                    // JOptionPane.showMessageDialog(null, "现在不能交卷");

                // }

                //

                       }catch (Exception er) {

                        // TODO: handle exception

                    }

                         

                           

            }

        

            }

}下载本文

显示全文
专题