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

📄 console.java

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

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;

public class Console {

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

	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, Connection con,
			String customerName) throws IOException, SQLException {
		int counter = 1;
		List<String> answer1 = new ArrayList<String>();
		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++) {
				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[qnum]=reads;
			answer1.add(reads);

		}
		summary(test, answer1, con, customerName);

	}

	public static void summary(Testable test, List answer1, Connection con,
			String customerName) throws IOException, SQLException {
		int counter = 1, qnum = 0, right = 0, wrong = 0;
		String judge = "错";
		String date;
		date = getDate();
		String answer = null,answer2 = null;
		float tmp = (float) 0.00;
        int score = 0;
		String[] label = { "a", "b", "c", "d", "e", "f", "g", "h", "i", "j" };
		System.out.println("题号\t你的答案\t正确答案\t判断");
		
		for (qnum = 0; qnum < test.getQuestionCount(); qnum++) {

			counter++;
			judge = "错";
			Question question = test.getQuestion(qnum);
			answer = question.getAnswer();
			answer = answer.trim();
			if (answer.equals(answer1.get(qnum))) {
				right++;
				judge = "对";
			} else
				wrong++;
			System.out.println((counter - 1) + "\t" + answer1.get(qnum) + "\t"
					+ answer + "\t" + judge);
			tmp = (float) (100 / (right + wrong));
			score = (int) (tmp * right);
			answer2=(String) answer1.get(qnum);
			String sqlString1="insert into EXACTRESULT(Customer_name,date_time,question_no,answer," +
			"correct_answer,judge)values(?,?,?,?,?,?)";
	       PreparedStatement ps1=con.prepareStatement(sqlString1);
	        ps1.setString(1,customerName);
	        ps1.setString(2,date);
	        ps1.setString(5,answer);
	        ps1.setString(6,judge);
	        ps1.setLong(3,(counter-1));
			ps1.setString(4,answer2);
			ps1.executeUpdate();
			ps1.close();

			
		}
		System.out.println("总结:你对了 " + right + " 个,错了" + wrong + "个");
		if (score < 60)
			System.out.println("很遗憾,你没有通过考试!");
		else
			System.out.println("恭喜你,你通过了考试!");
	
		String sqlString = "insert into RESULT(Name,DateTime,Mark,"
				+ "TEST_NAME,Right,Wrong )values(?,?,?,?,?,?)";

		PreparedStatement ps = con.prepareStatement(sqlString);
		ps.setString(1, customerName);
		ps.setString(2, date);
		ps.setInt(3, score);
		ps.setString(4, test.getTest_name());
		ps.setInt(5, right);
		ps.setInt(6, wrong);
		ps.executeUpdate();
		ps.close();
		
	}
}

⌨️ 快捷键说明

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