体育资讯网

您现在的位置是:首页 > 分类13 > 正文

分类13

java考试系统源码下载(java在线考试系统源码)

hacker2022-07-11 06:19:26分类1351
本文目录一览:1、跪求java实现B/S考试系统的思路(最好有源代码)2、

本文目录一览:

跪求java实现B/S考试系统的思路(最好有源代码)

做这个题库系统需要按照mvc设计一下, 最近我也实现一个类似的, 下面说下我的设计

数据库mysql+开发环境eclipse+jdk1.8, 然后基于一个整合框架把项目搭建起来

设计基础试题表, 这个主要有类型难度等等

设计试卷表, 试卷表由create的时候根据输入的规则自动根据上面的基础题库表组装而成

剩下的用户管理, 导出就比较容易了, 导出可以用poi导出成word

学生考试管理系统,JAva源代码

//主类EnglishTest——

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class EnglishTest extends JFrame

{

TestArea testPanel=null;

Container con=null;

public EnglishTest()

{

super("模拟考试");

testPanel=new TestArea();

con=getContentPane();

con.add(testPanel,BorderLayout.CENTER);

addWindowListener(new WindowAdapter()

{ public void windowClosing(WindowEvent e)

{ System.exit(0);

}

});

setVisible(true);

setBounds(60,40,660,460);

con.validate();

validate();

}

public static void main(String args[])

{

new EnglishTest();

}

}

//读取试题 ReadTestquestion

import java.io.*;

import java.util.*;

public class ReadTestquestion

{ String filename="",

correctAnswer="",

testContent="" ,

selection="" ;

int score=0;

long time=0;

boolean 完成考试=false;

File f=null;

FileReader in=null;

BufferedReader 读取=null;

public void setFilename(String name)

{ filename=name;

score=0;

selection="";

try {

if(in!=null读取!=null)

{

in.close();

读取.close();

}

f=new File(filename);

in=new FileReader(f);

读取=new BufferedReader(in);

correctAnswer=(读取.readLine()).trim();

String temp=(读取.readLine()).trim() ;

StringTokenizer token=new StringTokenizer(temp,":");

int hour=Integer.parseInt(token.nextToken()) ;

int minute=Integer.parseInt(token.nextToken());

int second=Integer.parseInt(token.nextToken());

time=1000*(second+minute*60+hour*60*60);

}

catch(Exception e)

{

testContent="没有选择试题";

}

}

public String getFilename()

{

return filename;

}

public long getTime()

{

return time;

}

public void set完成考试(boolean b)

{

完成考试=b;

}

public boolean get完成考试()

{

return 完成考试;

}

public String getTestContent()

{ try {

String s=null;

StringBuffer temp=new StringBuffer();

if(读取!=null)

{

while((s=读取.readLine())!=null)

{

if(s.startsWith("**"))

break;

temp.append("\n"+s);

if(s.startsWith("endend"))

{

in.close();

读取.close();

完成考试=true;

}

}

testContent=new String(temp);

}

else

{

testContent=new String("没有选择试题");

}

}

catch(Exception e)

{

testContent="试题内容为空,考试结束!!";

}

return testContent;

}

public void setSelection(String s)

{

selection=selection+s;

}

public int getScore()

{ score=0;

int length1=selection.length();

int length2=correctAnswer.length();

int min=Math.min(length1,length2);

for(int i=0;imin;i++)

{ try{

if(selection.charAt(i)==correctAnswer.charAt(i))

score++;

}

catch(StringIndexOutOfBoundsException e)

{

i=0;

}

}

return score;

}20:10 03-8-31

public String getMessages()

{

int length1=selection.length();

int length2=correctAnswer.length();

int length=Math.min(length1,length2);

String message="正确答案:"+correctAnswer.substring(0,length)+"\n"+

"你的回答:"+selection+"\n";

return message;

}

}

//考试区域TestArea

import java.awt.*;

import javax.swing.*;

import java.awt.event.*;

import java.io.*;

class FileName implements FilenameFilter

{

String str=null;

FileName (String s)

{

str="."+s;

}

public boolean accept(File dir,String name)

{

return name.endsWith(str);

}

}

public class TestArea extends JPanel implements ActionListener,ItemListener,Runnable

{

Choice list=null;

JTextArea 试题显示区=null,消息区=null;

JCheckBox box[];

JButton 提交该题答案,读取下一题,查看分数;

ReadTestquestion 读取试题=null;

JLabel welcomeLabel=null;

Thread countTime=null;

long time=0;

JTextField timeShow=null;

boolean 是否关闭计时器=false,

是否暂停计时=false;

JButton 暂停或继续计时=null;

public TestArea()

{

list= new Choice();

String 当前目录=System.getProperty("user.dir");

File dir=new File(当前目录);

FileName fileTxt=new FileName("txt");

String fileName[]=dir.list(fileTxt);

for(int i=0;ifileName.length;i++)

{

list.add(fileName[i]);

}

试题显示区=new JTextArea(15,12);

试题显示区.setLineWrap(true);

试题显示区.setWrapStyleWord(true);

试题显示区.setFont(new Font("TimesRoman",Font.PLAIN,14));

试题显示区.setForeground(Color.blue);

消息区=new JTextArea(8,8);

消息区.setForeground(Color.blue);

消息区.setLineWrap(true);

消息区.setWrapStyleWord(true);

countTime=new Thread(this);

String s[]={"A","B","C","D"};

box=new JCheckBox[4];

for(int i=0;i4;i++)

{

box[i]=new JCheckBox(s[i]);

}

暂停或继续计时=new JButton("暂停计时");

暂停或继续计时.addActionListener(this);

提交该题答案=new JButton("提交该题答案");

读取下一题=new JButton("读取第一题");

读取下一题.setForeground(Color.blue);

提交该题答案.setForeground(Color.blue);

查看分数=new JButton("查看分数");

查看分数.setForeground(Color.blue);

提交该题答案.setEnabled(false);

提交该题答案.addActionListener(this);

读取下一题.addActionListener(this);

查看分数.addActionListener(this);

list.addItemListener(this);

读取试题=new ReadTestquestion();

JPanel pAddbox=new JPanel();

for(int i=0;i4;i++)

{

pAddbox.add(box[i]);

}

Box boxH1=Box.createVerticalBox(),

boxH2=Box.createVerticalBox(),

baseBox=Box.createHorizontalBox();

boxH1.add(new JLabel("选择试题文件"));

boxH1.add(list);

boxH1.add(new JScrollPane(消息区));

boxH1.add(查看分数);

timeShow=new JTextField(20);

timeShow.setHorizontalAlignment(SwingConstants.RIGHT);

timeShow.setEditable(false);

JPanel p1=new JPanel();

p1.add(new JLabel("剩余时间:"));

p1.add(timeShow);

p1.add(暂停或继续计时);

boxH1.add(p1);

boxH2.add(new JLabel("试题内容:"));

boxH2.add(new JScrollPane(试题显示区));

JPanel p2=new JPanel();

p2.add(pAddbox);

p2.add(提交该题答案);

p2.add(读取下一题);

boxH2.add(p2);

baseBox.add(boxH1);

baseBox.add(boxH2);

setLayout(new BorderLayout());

add(baseBox,BorderLayout.CENTER);

welcomeLabel=new JLabel("欢迎考试,提高英语水平",JLabel.CENTER);

welcomeLabel.setFont(new Font("隶书",Font.PLAIN,24));

welcomeLabel.setForeground(Color.blue);

add(welcomeLabel,BorderLayout.NORTH);

}

public void itemStateChanged(ItemEvent e)

{

timeShow.setText(null);

是否关闭计时器=false;

是否暂停计时=false;

暂停或继续计时.setText("暂停计时");

String name=(String)list.getSelectedItem();

读取试题.setFilename(name);

读取试题.set完成考试(false);

time=读取试题.getTime();

if(countTime.isAlive())

{

是否关闭计时器=true;

countTime.interrupt();

}

countTime=new Thread(this);

消息区.setText(null);

试题显示区.setText(null);

读取下一题.setText("读取第一题");

提交该题答案.setEnabled(false);

读取下一题.setEnabled(true);

welcomeLabel.setText("欢迎考试,你选择的试题:"+读取试题.getFilename());

}

public void actionPerformed(ActionEvent e)

{

if(e.getSource()==读取下一题)

{

读取下一题.setText("读取下一题");

提交该题答案.setEnabled(true);

String contentTest=读取试题.getTestContent();

试题显示区.setText(contentTest);

消息区.setText(null);

读取下一题.setEnabled(false);

try {

countTime.start();

}

catch(Exception event)

{

}

}

if(e.getSource()==提交该题答案)

{

读取下一题.setEnabled(true);

提交该题答案.setEnabled(false);

String answer="?";

for(int i=0;i4;i++)

{

if(box[i].isSelected())

{

answer=box[i].getText();

box[i].setSelected(false);

break;

}

}

读取试题.setSelection(answer);

}

if(e.getSource()==查看分数)

{

int score=读取试题.getScore();

String messages=读取试题.getMessages();

消息区.setText("分数:"+score+"\n"+messages);

}

if(e.getSource()==暂停或继续计时)

{

if(是否暂停计时==false)

{

暂停或继续计时.setText("继续计时");

是否暂停计时=true;

}

else if(是否暂停计时==true)

{

暂停或继续计时.setText("暂停计时");

是否暂停计时=false;

countTime.interrupt();

}

}

}

public synchronized void run()

{

while(true)

{

if(time=0)

{

是否关闭计时器=true;

countTime.interrupt();

提交该题答案.setEnabled(false);

读取下一题.setEnabled(false);

timeShow.setText("用时尽,考试结束");

}

else if(读取试题.get完成考试())

{

是否关闭计时器=true;

timeShow.setText("考试效果:分数*剩余时间(秒)="+1.0*读取试题.getScore()*(time/1000));

countTime.interrupt();

提交该题答案.setEnabled(false);

读取下一题.setEnabled(false);

}

else if(time=1)

{

time=time-1000;

long leftTime=time/1000;

long leftHour=leftTime/3600;

long leftMinute=(leftTime-leftHour*3600)/60;

long leftSecond=leftTime%60;

timeShow.setText(""+leftHour+"小时"+leftMinute+"分"+leftSecond+"秒");

}

try

{

Thread.sleep(1000);

}

catch(InterruptedException ee)

{

if(是否关闭计时器==true)

return ;

}

while(是否暂停计时==true)

{

try

{

wait();

}

catch(InterruptedException ee)

{

if(是否暂停计时==false)

{

notifyAll();

}

}

}

}

}

}

求简单的java考试系统源代码

下载要分消息密java考试系统源码下载我楼主java考试系统源码下载,还可以搜搜别java考试系统源码下载java考试系统源码下载,还有很多好java考试系统源码下载

谁有JavaWeb版本的在线考试系统,求完整源代码

爱考在线考试系统 1.2.1 版本 web浏览 全国唯一开源免费在线考试系统 1.支持几乎所有java考试系统源码下载的题型java考试系统源码下载,包括选择题,判断题,填空题,问答题,复合题(选词,完型填空,阅读理解),多空选择题,连线题等; 2.支持智能出卷,让您可以根据题型,章节(知识分类),试题难度,分值等组成一份完整java考试系统源码下载的试卷; 3.支持在线练习或考试,并能设置考试java考试系统源码下载的考生(或员工)范围,时间。让您能轻松组织一场在线考试; 4.支持客观题自动判卷以及主观题手动判卷,并能自动核计总分,并统计排名,生成成绩分析报表; 5.简化录入试题功能,支持智能识别,能极大简化你java考试系统源码下载的录入工作; 6.支持共享题库。让用户可以从爱考网下载试题,试卷,让您分享海量题库。 免除自己录题的烦恼; 7.是免费开源的在线考试系统,您不需要为此支付任何费用,并且可以下载源代码以供学习和研究。

java在线考试系统源码谁有

需要源码的没有,不过内部使用人数不多的话,可以用用麦塔在线考试系统,可以录入题目,随机出题,然后答卷,评分的时候显示正确的答案,把这个人的分数记录到数据库,这些功能都有了。

发表评论

评论列表

  • 瑰颈饮酎(2022-07-11 15:45:20)回复取消回复

    der in=null; BufferedReader 读取=null; public void setFilename(String name) { filename=name; score=0;

  • 痴者宠臣(2022-07-11 16:41:54)回复取消回复

    { list= new Choice(); String 当前目录=System.getProperty("user.dir"); File dir=new File(当前目录); FileName fi

  • 孤鱼挽鹿(2022-07-11 17:58:01)回复取消回复

    eckBox(s[i]); } 暂停或继续计时=new JButton("暂停计时"); 暂停或继续计时.addActionListener(this);

  • 世味薄喜(2022-07-11 16:30:26)回复取消回复

    testContent="没有选择试题"; } } public String getFilename() {

  • 孤央莺时(2022-07-11 09:33:28)回复取消回复

    组成一份完整java考试系统源码下载的试卷; 3.支持在线练习或考试,并能设置考试java考试系统源码下载的考生(或员工)范围,时间。让您能轻松组织一场在线考试; 4.支持客观题自动判卷以及主观题手动判卷,并能自动核计总分,并统计排名,生成成绩分析报表; 5.简