⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 driver.java

📁 远程电子考试系统
💻 JAVA
字号:
package fangsoft.testcenter.driver;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;

import fangsoft.testcenter.model.CertTest;
import fangsoft.testcenter.model.Constants;
import fangsoft.testcenter.model.PracticeTest;
import fangsoft.testcenter.model.Question;
import fangsoft.testcenter.model.Test;
import fangsoft.testcenter.model.Testable;

public class Driver {

	/**
	 * @param args
	 * @throws IOException
	 */
	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
		Test myTest = null;
		// if (args.length != 1) {
		/*
		 * System.out .println("Please pass the test type on the command line:
		 * "); System.out.println("1.practice "); System.out.println("2.
		 * certification"); String type = "", arg = ""; BufferedReader buf = new
		 * BufferedReader(new InputStreamReader( System.in)); type =
		 * buf.readLine(); if (type.equals("1")) arg = "practice"; else if
		 * (type.equals("2")) arg = "certification"; else System.exit(0);
		 */
		// }
		System.out.println(Constants.APPNAME + " " + Constants.APPVERSION);
		/*
		 * if (args[0].equalsIgnoreCase("certification")) { myTest = new
		 * CertTest(); } else if (args[0].equalsIgnoreCase("practice")) { myTest =
		 * new PracticeTest(); } else { System.out.println("Invalid test type
		 * entered. " + "Only PRACTICE or CERTIFICATION allowed as types");
		 * return; }
		 */
		
		String gd;
		gd = getDate();
		System.out.println("欢迎你,参加fangsoft考试中心的考试!");
		System.out.println("今天是" + gd);
		String strings = System.getProperty("os.name");
		System.out.println("你的操作系统是" + strings);
		System.out.println("参加考试前请先登录,输入完成后按Enter确认:");
		System.out.println("输入用户名称:");
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		String name = br.readLine();
		System.out.println("输入用户密码");
		// if()
		String code = br.readLine();
		System.out.println("确认参加考试吗?");
		System.out.println("1. 是: y");
		System.out.println("2. 否,退出: n");
		BufferedReader br1 = new BufferedReader(
				new InputStreamReader(System.in));
		String theRead = br1.readLine();

		if (theRead.equals("n")) {
			System.out.println("系统退出!");
		System.exit(0);
		}
		else 
			{
			System.out.println("选择参加的考试: ");
			System.out.println("1.fangsoft Java practice 知识测试选择1");
			System.out.println("2. fangsoft Java certification知识测试选择2");
			String type = "", arg = "";
			BufferedReader buf = new BufferedReader(
					new InputStreamReader(System.in));
			type = buf.readLine();
			if (type.equals("1"))
				arg = "practice";
			else if (type.equals("2"))
				arg = "certification";
			else
				System.exit(0);
			if (arg.equalsIgnoreCase("certification")) {
				myTest = new CertTest();
			} else if (arg.equalsIgnoreCase("practice")) {
				myTest = new PracticeTest();
			} else {
				System.out.println("输入的是不合法的考试类型. "
						+ "只有 PRACTICE 和 CERTIFICATION 类考试!");
				return;
			}
			boolean generated = myTest.generate();
			if (!generated) {
				System.out.println("试卷无法输出, " + "请检查其它细节问题,退出试卷系统!");
				return;
			}
			System.out.println("==========开始考试==========");
			System.out.println("考试名称: fangsoft Java  "+arg+"  知识测试");
			System.out.println("考试简述: www.fangsoft.org的java  "+arg+"  知识测试");
			System.out.println("考试问题: 3");
			System.out.println("考试时间: 10分钟");
			System.out.println("现在参加考试吗?");
			System.out.println("1. 是:      y");
			System.out.println("2. 否,退出: n");
			}
			BufferedReader br2 = new BufferedReader(new InputStreamReader(
					System.in));
			String theRead2 = br2.readLine();
			if (theRead2.equals("y")) {
				;
			} else {
				System.out.println("系统退出!");
				System.exit(0);
			}
			displayTestProperties(myTest);
			presentTest(myTest);
		}

		/*
		 * else { System.out.println("系统退出!"); System.exit(0); }
		 */
		
		/*
		 * Properties props = System.getProperties(); props.list(System.out);
		 * Test test = new Test("DEDS Version 1.0 Java Certification Test");
		 * presentTest(test); System.out.println("Test is over!"); test = null;
		 * System.gc(); System.out.println("Requested gc");
		 */

	



	public static String getDate() {

		SimpleDateFormat ft = null;

		java.util.Date date = null;

		Calendar cl = Calendar.getInstance();

		cl.setTime(new java.util.Date());

		date = cl.getTime();

		// 格式可以自己根据需要修改

		ft = new SimpleDateFormat("yyyy-MM-dd HH:mm");

		String dateTime = ft.format(date);

		return dateTime;

	}

	public static void presentTest(Testable test) {
		int counter = 1;
		List answer1 = new ArrayList();
		// String []answer1=new String[test.getQuestionCount()];
		char[] label = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j' };
		for (int qnum = 0; qnum < test.getQuestionCount(); qnum++) {
			Question question = test.getQuestion(qnum);
			System.out
					.println("\n" + counter + "." + question.getText() + "\n");
			counter++;
			for (int cnum = 0; cnum < question.getCount(); cnum++) {
				fangsoft.testcenter.model.Choice choice = question.getChoice(cnum);
				System.out.println("\t(" + label[cnum] + ") "
						+ choice.getText());
			}
			System.out.print("输入答案:");
			BufferedReader reader = new BufferedReader(new InputStreamReader(
					System.in));
			String reads = "";
			try {
				reads = reader.readLine();
			} catch (IOException e) {
				// TODO 自动生成 catch 块
				e.printStackTrace();
			}
			answer1.add(reads);

		}
		summary(test, answer1);

	}

	public static void displayTestProperties(Testable test) {
		System.out.println("Number of questions: " + test.getQuestionCount());
		System.out.println("\nBegin\n");
	}

	public static void summary(Testable test, List answer1) {
		int counter = 1, qnum = 0, right = 0, wrong = 0;
		String judge = "wrong";
		List answer = new ArrayList();
		// String []answer=new String[test.getQuestionCount()];
		String[] label = { "a", "b", "c", "d", "e", "f", "g", "h", "i", "j" };
		// char []a =new char[test.getQuestionCount()];
		System.out.println("*********考试结束**********");
		System.out.println("---------考试报告----------");
		System.out.println("题号\t你的答案\t正确答案\t判断");
		for (qnum = 0; qnum < test.getQuestionCount(); qnum++) {
			System.out.print(counter);
			counter++;
			judge = "错误";
			Question question = test.getQuestion(qnum);
			// answer[qnum]="";
			for (int cnum = 0; cnum < question.getCount(); cnum++) {
				fangsoft.testcenter.model.Choice choice = question.getChoice(cnum);
				if (choice.isCorrect()) {
					// answer[qnum]=answer[qnum].concat(label[cnum]);
					answer.add(label[cnum]);
				}
			}
			if (((String) answer.get(qnum)).equalsIgnoreCase((String) answer1.get(qnum))) {
				right++;
				
				judge = "正确";
			} else
				wrong++;
			System.out.println("\t" + answer1.get(qnum) + "\t"
					+ answer.get(qnum) + "\t" + judge);

		}
		System.out.println("你答对了 " + right + " 个,答错了" + wrong + "个!");
		if (right<wrong)
			System.out.println("很遗憾,你没有通过考试!");
		else
			System.out.println("恭喜你,你通过了考试!");
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -