?? console.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();
// 格式可以自己根據(jù)需要修改
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("總結(jié):你對了 " + 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();
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -