使用输入流读取试题文件,每次显示试题文件中的一道题目。读取到字符“*”时暂停读取,等待用户从键盘输入答案。用户做完全部题目后。程序给出用户的得分。
- 试题内容如下:
(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.狮子
********************
2)程序运行如下:
(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){
Scanner input = new Scanner(System.in);//输入
String trueAnswer = "ACDD";//真实的答案
String answer = "";//用户的答案
BufferedReader br = null;//造流
try {
File file = new File("C:\\Dream\\workspace_ideal\\JavaSenior\\day10","test.txt");//main方法下面,要写完整的路径
br = new BufferedReader(new FileReader(file));
String s;//= br.readLine();//不能写在外面,否则,while死循环了
while((s = br.readLine()) != null){
if(s.startsWith("*")){//读到*的位置
System.out.println("输入选择的答案(A、B、C、D):");
answer += input.next();//保存用户的答案
}else{//没有读到*的位置,就输出文字
System.out.println(s);
}
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if(br != null){
try {
br.close();//流关闭操作
} catch (IOException e) {
e.printStackTrace();
}
}
}
//开始判断答案的正确性
int score = 0;//统计成绩
for (int i = 0; i < trueAnswer.length(); i++) {
if(trueAnswer.charAt(i) == answer.charAt(i)){
score += 25;//正确加25分
}
}
System.out.println("您的答案为:" + answer);
System.out.println("正确的答案为:" + trueAnswer);
System.out.println("\n\n\n您的最终成绩为:" + score);
}
该博客介绍了一个使用JAVA编程实现的交互式试题系统。程序通过输入流读取试题文件,逐题展示给用户,并在遇到字符‘*’时暂停,等待用户输入答案。用户完成所有题目后,程序将显示总得分。

被折叠的 条评论
为什么被折叠?



