『壹』 學生考試管理系統,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;i<min;i++)
{ try{
if(selection.charAt(i)==correctAnswer.charAt(i))
score++;
}
catch( 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;i<fileName.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;i<4;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;i<4;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;i<4;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版的開源OA系統源碼,哪裡有下載的呀或者發郵件給我[email protected]!可以用在加分,謝謝!
JAVA開源OA根本就沒有,下載DEMO還差不多。。。 我在公司上班,源碼的確有,但不能給哦~!
.NET 企業OA源碼一搜一大堆~! 不值錢
『叄』 跪求java實現B/S考試系統的思路(最好有源代碼)
做這個題庫系統需要按照mvc設計一下, 最近我也實現一個類似的, 下面說下我的設計
資料庫mysql+開發環境eclipse+jdk1.8, 然後基於一個整合框架把項目搭建起來
設計基礎試題表, 這個主要有類型難度等等
設計試卷表, 試卷表由create的時候根據輸入的規則自動根據上面的基礎題庫表組裝而成
剩下的用戶管理, 導出就比較容易了, 導出可以用poi導出成word
『肆』 求Java的在線學習系統源代碼
Java 程序員必須收藏的資源大全
古董級工具
這些工具伴隨著Java一起出現,在各自輝煌之後還在一直使用。
Apache Ant:基於XML的構建管理工具。
cglib:位元組碼生成庫。
GlassFish:應用伺服器,由Oracle贊助支持的Java EE參考實現。
Hudson:持續集成伺服器,目前仍在活躍開發。
JavaServer Faces:Mojarra是JSF標準的一個開源實現,由Oracle開發。
JavaServer Pages:支持自定義標簽庫的網站通用模板庫。
Liquibase:與具體資料庫獨立的追蹤、管理和應用資料庫Scheme變化的工具。
『伍』 推薦一個公務員在線學習、在線模擬考試的系統源碼,謝謝。
豬八戒考試出題軟體 3.0
豬八戒考試出題系統是針對各教育、企事業培訓單位開發的專業考評軟體。用戶可以在短時間內輕松完成試題錄入、組卷、排版等工作,並可以根據配置參數生成試卷和答案,實現了題庫與試卷統一和規范化管理,避免教師每次考試時手工組卷及平時為學生組織練習時的重復勞動,將教師從簡單、重復的環節中解脫出來,以更多的精力投入到教學與科研中去。
1.題庫管理
1)題庫支持所有常見題型:單選、多選、判斷、填空、問答、操作題,並可按照客戶需求自定義。
2)題庫可以按照科目、難度、題型等進行題庫的劃分。
3)試題支持批量導入導出,並可進行批量備份和編輯。
4)所有試題均可以添加圖片等附件。
2.智能組卷
1)系統支持隨機和固定試卷,可根據題型、范圍、難度、題目數量、總分數等條件隨機生成符合自己要求的試卷。
2)防舞弊:打亂題目順序、實現A、B卷網路考試;監控考生考試情況,發現舞弊者可以取消考試資格。
3)智能抽題:根據設定好的策略從題庫中智能抽取試題。
3.試卷導出
1)固定試卷可以在出好試卷後查看試卷內容。
2)對不滿意的試題可進行手工或自動換題,直到滿意為止。
3)審核後的試卷可導出excel或word試卷用與備份或線下考試。
4)支持在線考試。
5)智能閱卷評卷。
礪劍出題與考核系統 3.62 單機版[下載地址]
此為單機免費版,主要特點如下:
1、追加題庫比較方便,內置多樣追加模式,對常見文檔格式的題目能夠快速添加到資料庫中;
2、隨機出題操作簡單,只要把選擇的題目類型、題數及分數設置好,馬上就可以生成試卷,可以輸出為WORD格式、RTF格式或電子試卷格式,可以保存到服務端供全體使用,或直接列印輸出;
3、強大的自動判分功能,交試卷後能立即給出分數。
『陸』 在線考試系統源代碼
Asp.Net+Ef+MVC+Bootstrap 在線考試,試題維護,各種統計分析,試卷導出Word。支持PC端和手機端。 [email protected]
『柒』 求一個java的b/s在線考試系統,有源碼,使用mysql資料庫
我有,可以在線演示,怎麼聯系?
『捌』 學校要做個在線考試系統,怎麼做
藉助已經開發好的、功能完善的在線考試系統會節省很多不必要的花銷,往往是十分明智的選擇。比如現在很多學校、教育機構會借用在線考試系統搭建考試平台。
傳統的考試方式一般要經過人工出卷、考生考試、人工閱卷等過程,對於一些課程來說,隨著考生數量的增加,出卷閱卷的工作量將會越來越大,並且其工作量容易出錯。使用在線考試系統實現無紙考試,避免傳統手工考試的不足,實現考試的客觀性、公正性,自動閱卷可以減輕了我的工作強度,不用印試卷,不用監考,不用講評試卷,真的非常的實用!
『玖』 誰有在線考試系統源碼,網站模板也可以,誰有給一個咯
例如:pageadmin系統、wordpress系統、shopex系統,這些實用性比較高,可以去下載試試。
『拾』 誰有JavaWeb版本的在線考試系統,求完整源代碼
愛考在線考試系統 1.2.1 版本 web瀏覽 全國唯一開源免費在線考試系統 1.支持幾乎所有的題型,包括選擇題,判斷題,填空題,問答題,復合題(選詞,完型填空,閱讀理解),多空選擇題,連線題等; 2.支持智能出卷,讓您可以根據題型,章節(知識分類),試題難度,分值等組成一份完整的試卷; 3.支持在線練習或考試,並能設置考試的考生(或員工)范圍,時間。讓您能輕松組織一場在線考試; 4.支持客觀題自動判卷以及主觀題手動判卷,並能自動核計總分,並統計排名,生成成績分析報表; 5.簡化錄入試題功能,支持智能識別,能極大簡化你的錄入工作; 6.支持共享題庫。讓用戶可以從愛考網下載試題,試卷,讓您分享海量題庫。 免除自己錄題的煩惱; 7.是免費開源的在線考試系統,您不需要為此支付任何費用,並且可以下載源代碼以供學習和研究。