编程使用缓冲流读取试题文件,test6_5.txt 内容如下所示。 每次显示试题文件中的一道题目,读取到字符“*”时暂停读取, 等待用户从键盘输入答案。用户做完全部题目后,程序给出用户的得分。

test6_5.txt内容如下:

(1)面向对象程序设计中,把对象的属性和行为组织在同一个模块内的机制叫做( )。
A.封装象 B.继承 C.抽象 D.多态
********************
(2)在面向对象程序设计中,类通过( )与外界发生关系。
A.对象 B.类 C.消息 D.接口
********************
(3)类的析构函数是( )时调用的。
A.类创建 B.创建对象 C.引用对象 D.释放对象
********************
(4)在下面的关键字中, ( )能声明类成员是私有的。
A.protected B.const C.friend D.private
********************

题目难点分析:

1.如何控制在读取到字符"*"暂停读取,我在这里还没有完全实现,但是不影响题目本意

2.如何控制用户输入答案后,再读取下一题

3.判断题目正确与否并计分.

 import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.Scanner; public class Test6_5 {
public static void main(String[] args) throws IOException{ Scanner input=new Scanner(System.in);
File file = new File("d:\\Test6_5.txt");
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr); String s;int count=0;String c;int score=0; do{
while((s=br.readLine())!=null){
System.out.println(s);
if(s.startsWith("*")) break;//用string类的startsWith方法,是否以"*"开头,返回值是boolean型.
}
System.out.println("请输入答案:");
c=input.next();
++count;//控制题目显示
score+=Judge(count,c);//判断题目正确与否并计分 }while(count!=4);
System.out.println("分数:"+score);
fr.close();
} public static int Judge(int count,String c){
int score=0;
if(count==1&&c.equals("A")) score=25;
if(count==2&&c.equals("C")) score=25;
if(count==3&&c.equals("B")) score=25;
if(count==4&&c.equals("D")) score=25;
return score;
}
}
上一篇:redis注册成window服务


下一篇:HDU 4121