日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Java swing讀取txt文件實現學生考試系統

瀏覽:28日期:2022-08-31 11:04:37

本文實例為大家分享了Java swing讀取txt文件實現學生考試系統的具體代碼,供大家參考,具體內容如下

主要實現了一個簡單的倒計時答題系統

源碼Testquestion 類

public class Testquestion { private String questionText ='';//定義題目 private String standardkey = '';// 定義正確答案 private String selectKey ='';// 定義輸入答案 public Testquestion(String questionText, String standardkey) { super(); this.questionText = questionText; this.standardkey = standardkey; } public String getQuestionText() { return questionText; } public void setQuestionText(String questionText) { this.questionText = questionText; } public String getStandardkey() { return standardkey; } public void setStandardkey(String standardkey) { this.standardkey = standardkey; } public String getSelectKey() { return selectKey; } public void setSelectKey(String selectKey) { this.selectKey = selectKey; } public boolean check() { if (this.selectKey.equals(this.standardkey)) { return true; } else { return false; } } }

主程序Test2

import java.awt.*;import java.awt.event.*;import java.io.*;import java.text.NumberFormat;import java.util.*;import javax.swing.*;@SuppressWarnings('serial')public class Test2 extends JFrame implements ActionListener{ private JButton start,commit,back,next; private JRadioButton aButton,bButton,cButton,dButton; private ButtonGroup buttonGroup; private JLabel label,clock; private JTextArea jTextArea; private JPanel panel,panel2,panel3; Testquestion t1; Testquestion[] questions; int examtime; int p=0;//設置題目數指針 int topicnum=0; int right,error; //答對和答錯 ClockDispaly mt; //倒計時模塊 public Test2(){ this.setTitle('學生在線考試系統v1'); //設置標題 this.setSize(440,320); //設置窗口大小 this.setLocationRelativeTo(null); //設置顯示位置居中 this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //設置關閉時關閉 panel = new JPanel(); //初始化面板 panel2 = new JPanel(); panel3 = new JPanel(); label = new JLabel('總考試時間:100分鐘 '); //初始化并命名標簽 clock = new JLabel(); jTextArea = new JTextArea(10,35); //初始化文本區域 jTextArea.setEditable(false); //設置文本不可修改 aButton = new JRadioButton('A'); //初始化單選按鈕 bButton = new JRadioButton('B'); cButton = new JRadioButton('C'); dButton = new JRadioButton('D'); buttonGroup = new ButtonGroup(); //初始化選項組 start = new JButton('開始考試'); //初始化按鍵 back = new JButton('上一題'); next = new JButton('下一題'); commit = new JButton('提交考試'); aButton.addActionListener(this); //單選按鈕添加監聽事件 bButton.addActionListener(this); cButton.addActionListener(this); dButton.addActionListener(this); start.addActionListener(this); //按鈕添加監聽事件 back.addActionListener(this); next.addActionListener(this); commit.addActionListener(this); buttonGroup.add(aButton); //把單選按鈕放到選項組 buttonGroup.add(bButton); buttonGroup.add(cButton); buttonGroup.add(dButton); panel.add(label); //把標簽放入面板panel panel.add(clock); panel.add(start); //把按鍵放入面板panel panel2.add(jTextArea); //把文本區域放入面板panel2 panel3.add(aButton); //把單選按鈕放入面板panel3 panel3.add(bButton); panel3.add(cButton); panel3.add(dButton); panel3.add(back); //把按鍵放入面板panel3 panel3.add(next); panel3.add(commit); this.add(panel,BorderLayout.NORTH); //設置面板panel放在上面 this.add(panel2,BorderLayout.CENTER); //設置面板panel2放在中間 this.add(panel3, BorderLayout.SOUTH); //設置面板panel放在下面 this.setVisible(true); //設置窗口可見 mt = new ClockDispaly(clock, 30); //調用并設置倒計時的時間 } public void createExam() {//創建考試模塊 Vector<Testquestion> qList=null;//創建一個向量列表,用于動態增加試題 Testquestion t; String questionText=''; String standardKey; String s; try { FileReader fr=new FileReader('D:test.txt'); BufferedReader br = new BufferedReader(fr); //可以每次讀一行 qList=new Vector<Testquestion>(); while((s=br.readLine())!=null){//讀取試題 if (s.equals('*****')){ questionText='';//準備接收一個題目的內容 s = br.readLine();//獲取試題內容的首行 } if (s.equals('$$$$$')){//準備讀取試題的答案 s = br.readLine(); //獲取試題的答案 standardKey = s; //把試題答案賦值給正確答案 t = new Testquestion(questionText,standardKey); //把試題和答案賦值給t qList.add(t); //把試題和答案賦值給列表 } questionText=questionText+s+’n’; } br.close();//關閉緩沖流 fr.close();//關閉文件流 } catch (IOException e) { e.printStackTrace(); //打印異常信息 } topicnum=qList.size(); //統計試題數量 questions=new Testquestion[topicnum]; for (int i=0;i<qList.size();i++) //讀取試題 questions[i]=qList.get(i); } public void setSelected(String s) {//設置單選按鈕不重復模塊 if (s.equals('A')) buttonGroup.setSelected(aButton.getModel(), true); if (s.equals('B')) buttonGroup.setSelected(bButton.getModel(), true); if (s.equals('C')) buttonGroup.setSelected(cButton.getModel(), true); if (s.equals('D')) buttonGroup.setSelected(dButton.getModel(), true); if (s.equals('')) buttonGroup.clearSelection(); } public void showQuestion() {//設置試題模塊 jTextArea.setText(''); jTextArea.append(questions[p].getQuestionText());//在文本區域顯示試題 setSelected(questions[p].getSelectKey()); } public void showScore() {//設置成績模塊 right=0;error=0; for (int i = 0; i < topicnum; i++) { if (questions[i].check()) {//判斷答案的正確與錯誤 right++; }else { error++; } } int score = (int)(right*100/topicnum); //設置分數 JOptionPane.showMessageDialog(null, '答對'+right+'題,答錯'+error+'題,分數為'+score); } @Override public void actionPerformed(ActionEvent e) {//動作監聽事件 if (e.getSource()==start) {//開始開始按鍵實現 createExam(); //調用createExam模塊 p=0; //題目序號 showQuestion(); //調用showQuestion模塊 start.setEnabled(false);//設置按鈕不可點擊 mt.start(); //考試時間倒計時啟動 } if (e.getSource()==back) {//上一題的按鍵實現 p--; if (p==-1) { JOptionPane.showMessageDialog(null, '已經是第一題'); p++; } showQuestion(); } if (e.getSource()==next) {//下一題的按鍵實現 p++; if (p==topicnum) { JOptionPane.showMessageDialog(null, '已經是最后一題'); p--; } showQuestion(); } if (e.getSource()==commit) {//提交試卷的按鍵實現 showScore(); commit.setEnabled(false); System.exit(0); //退出 } if(e.getSource()==aButton) questions[p].setSelectKey('A'); if(e.getSource()==bButton) questions[p].setSelectKey('B'); if(e.getSource()==cButton) questions[p].setSelectKey('C'); if(e.getSource()==dButton) questions[p].setSelectKey('D'); } public static void main(String[] args) { new Test2(); }}class ClockDispaly extends Thread{//設置Thread考試倒計時模塊 private JLabel lefttimer; private int testtime; public ClockDispaly(JLabel lt,int time) { lefttimer = lt; testtime = time * 60; } public void run(){ NumberFormat numberFormat = NumberFormat.getInstance();//控制時間的顯示格式 numberFormat.setMinimumIntegerDigits(2);//設置數值的整數部分允許的最小位數 int h,m,s;//定義時分秒 while (testtime >= 0) { h = testtime / 3600; m = testtime % 3600 / 60; s = testtime % 60; StringBuffer stringBuffer = new StringBuffer(''); //增加到lefttimer標簽 stringBuffer.append('考試剩余時間為:'+numberFormat.format(h)+':'+numberFormat.format(m)+':'+numberFormat.format(s)); lefttimer.setText(stringBuffer.toString()); try { Thread.sleep(1000);//延時一秒 } catch (Exception e) { //ignore error } testtime = testtime - 1; } if (testtime <= 0) { JOptionPane.showMessageDialog(null, '考試結束'); System.exit(0); } }}

txt文件

Java swing讀取txt文件實現學生考試系統

效果圖

Java swing讀取txt文件實現學生考試系統

正在嘗試寫博客,如寫的不好,請評論,謝謝!

更多學習資料請關注專題《管理系統開發》。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
99视频一区| 三上悠亚国产精品一区二区三区 | 婷婷综合一区| 亚洲色图综合| 国产日韩亚洲欧美精品| 国产毛片精品| 国产精品s色| 免费看av不卡| 亚洲激情偷拍| 日韩精品亚洲专区| 久久99久久久精品欧美| 91一区二区| 国产一级一区二区| 欧美一区激情| 婷婷激情一区| 日韩影院精彩在线| 国产精品扒开腿做爽爽爽软件| 精品深夜福利视频| 婷婷精品进入| 欧美日韩夜夜| 欧美成a人免费观看久久| 一区在线免费| 国产视频一区二| 日韩中文首页| 蜜桃视频在线观看一区| 久久香蕉网站| 亚洲欧美日本日韩| 美女视频一区在线观看| 午夜影院欧美| 蜜桃久久久久| 亚洲一区国产| 精品久久久久久久| 爽好多水快深点欧美视频| 国产精品a级| 日韩视频免费| 久久女人天堂| 丝袜脚交一区二区| 国产一区二区三区四区五区传媒| 99国产精品久久久久久久| 国产精品欧美在线观看| 黄色av日韩| 精品久久久网| 日韩中文字幕视频网| 国产精品久久久久久久久久10秀| 视频在线观看一区二区三区| 成人国产综合| 日本v片在线高清不卡在线观看| 91综合视频| 欧美一级全黄| 日韩视频一区| 青青久久av| 国产欧美午夜| 天堂av在线一区| 日韩成人高清| 开心激情综合| 日韩精品a在线观看91| 欧美日韩三区| 91精品精品| 国产成人a视频高清在线观看| 亚洲精品乱码久久久久久蜜桃麻豆 | 午夜久久99| 精品亚洲免a| 日韩精品视频一区二区三区| 99精品电影| 激情久久一区二区| 欧美日本久久| 一区二区三区午夜视频| 亚洲天堂黄色| 97精品国产福利一区二区三区| 国产精品日韩精品中文字幕| 日韩中文一区二区| 国产精品老牛| 国产视频一区在线观看一区免费| 成人国产精品久久| 欧美极品中文字幕| 欧美日韩1区2区3区| 一区免费在线| 久久中文字幕av| av在线资源| 麻豆91在线播放| 日韩激情精品| 在线免费观看亚洲| 国产精品美女久久久| 婷婷成人在线| 91精品国产乱码久久久久久久| 特黄毛片在线观看| 日韩福利一区| 99久久99久久精品国产片果冰| 亚洲va中文在线播放免费| 国产精品高颜值在线观看| 精品视频在线你懂得| 国产精品成人**免费视频| 日韩av字幕| 国产亚洲精品精品国产亚洲综合| 欧美日韩亚洲三区| 国产精品欧美大片| 国内自拍视频一区二区三区| 久久永久免费| 狠狠久久伊人中文字幕| 国产精品99一区二区三区| 日韩伦理在线一区| 欧美午夜精彩| 久久xxxx| 视频一区日韩精品| 日韩高清电影一区| 欧美激情麻豆| 波多视频一区| 亚洲夜间福利| 免费看日韩精品| 欧美一区二区三区久久精品| 欧美黄色一区二区| 天堂а√在线最新版中文在线| 欧美午夜精彩| 亚洲久久一区| 欧美交a欧美精品喷水| 午夜精品久久久久久久久久蜜桃| 9色精品在线| 视频国产精品| 久久xxx视频| 欧美日韩尤物久久| 蜜桃视频免费观看一区| 久久精品凹凸全集| 久久av资源| 日韩不卡免费高清视频| 麻豆9191精品国产| 国产情侣一区| 久久精品亚洲人成影院| 首页国产欧美日韩丝袜| 欧美成人aaa| 自拍日韩欧美| 青青草91视频| 久久裸体视频| 色婷婷成人网| 肉色欧美久久久久久久免费看| 亚洲欧美视频| 欧美激情视频一区二区三区在线播放| 五月激情久久| 亚洲资源av| 精品三级在线| 国产午夜精品一区二区三区欧美 | 国精品产品一区| 狠狠操综合网| 国产毛片精品久久| 1024精品久久久久久久久| 国产欧美一级| 欧美日韩国产欧| 精品国产成人| 亚洲精品高潮| 色婷婷亚洲mv天堂mv在影片| 亚洲欧美久久久| 高清一区二区三区| 视频一区中文字幕| 国产videos久久| 日韩精品欧美精品| 偷拍欧美精品| 国产精品久久久久久久免费观看 | 成人精品动漫一区二区三区| 性色一区二区| 国产精品久久久久久久久久10秀| 噜噜噜躁狠狠躁狠狠精品视频| 给我免费播放日韩视频| 日本综合精品一区| 激情婷婷欧美| 久久精品天堂| 色综合视频一区二区三区日韩| 精品欧美一区二区三区在线观看| 日韩亚洲精品在线观看| 999精品色在线播放| 国产精品极品国产中出| 日韩精品一二三四| 韩国久久久久久| 国产精品成人国产| 亚洲精品乱码| 欧美一级精品| 国产传媒在线观看| 免费亚洲婷婷| 国产亚洲电影| 中文字幕中文字幕精品| 亚洲成人一区| 国产麻豆久久| 久久久久久久欧美精品| 欧美少妇精品| 电影91久久久| 欧美亚洲综合视频| 亚洲天堂免费| 国产免费成人| 欧美成人久久| 99久久夜色精品国产亚洲狼| 国产欧美一区| 欧美日韩视频免费看| 中文字幕中文字幕精品| 亚洲欧美日韩视频二区| 欧洲激情综合| 91精品啪在线观看国产18| 日韩一区欧美| 秋霞影院一区二区三区| 欧美丰满日韩| 中文字幕高清在线播放| 欧美日韩在线观看首页| 国产在线观看www|