Java IO练习
使用输入流读取试题文件,每次显示试题文件中的一道题目。读取到字符“*”时暂停读取,等待用户从键盘输入答案。用户做完全部题目后。程序给出用户的得分。
1) 试题内容如下:
(1)北京奥运是什么时间开幕的?
A.2008-08-08 B. 2008-08-01
C.2008-10-01 D. 2008-07-08
********************
(2)下列哪个国家不属于亚洲?
A.沙特 B.印度 C.巴西 D.越南
********************
(3)下列哪个国家最爱足球?
A.刚果 B.越南 C.老挝 D.巴西
********************
(4)下列哪种动物属于猫科动物?
A.鬣狗 B.犀牛 C.大象 D.狮子
********************
程序运行如下:
(1)北京奥运是什么时间开幕的?
A.2008-08-08 B. 2008-08-01
C.2008-10-01 D. 2008-07-08
输入选择的答案(A、B、C、D):A
(2)下列哪个国家不属于亚洲?
A.沙特 B.印度 C.巴西 D.越南
输入选择的答案(A、B、C、D):
public static void main(String[] args) {
BufferedReader br = null;
Scanner scan = null;
try {
// 1. 造流
br = new BufferedReader(new FileReader("question.txt"));
scan = new Scanner(System.in);
// 2. 读写数据
String answer = "ACDD";
String data;
StringBuilder result = new StringBuilder();
int score = 0;
while ((data = br.readLine()) != null){
if (! data.startsWith("*")){
System.out.println(data);
}else{
System.out.print("Please input your answer: ");
result.append(scan.next().charAt(0));
}
}
for (int i = 0; i < result.length(); i++) {
if(answer.toLowerCase().charAt(i) == result.toString().toLowerCase().charAt(i)){
score += 25;
}
}
System.out.println("Final score is: " + score);
} catch (IOException e) {
e.printStackTrace();
} finally {
// 3. 关闭流资源
try {
if(br == null)
br.close();
} catch (IOException e) {
e.printStackTrace();
}
scan.close();
}
}