请大家帮帮忙,编写一个小型的考试练习系统,要求:
1.该系统针对选择题设计,即可以完成选择题的出题,答题和计分等功能;
2.该系统输入数据格式为文本形式,内容如下组织:
<1:single>//考题编号和题目类型,单选single和多选multi
<question>//题目内容开始
Which one of these contains only java keywords?
</question>//题目内容结束
<answer>//可选答案,一行一个,A、B、C、D后为空格,其后是答案内容
A class,Thread,void,long,continue
B goto,instanceof,finally,default,throws
c try,redo,throw,final,super
D throw,this,implements,do,main
</answer>
<key>//正确答案,若有多个以空格相隔
A B
</key>
</1:single>//该题目结束3.程序启动时,读入指定位置(可以为默认值)的考题文件,提示用户开始考试,出题后,记录用户选择答案,并在用户完成所有题目答题后给出成绩统计。
4.整个程序由模块组成:
 1)QuestionLoader 负责指定的路径读取考题信息,并合理保存,可以根据题号进行题目内容、备选答案和正确答案的查询;
 2)QuestionSelecter 根据用户选择题目数目,从QuestionLoader中随即获取对应数目的考题,并按照随即顺序排列后提供给QuestionTester使用;
 3)QuestionTester 接收用户对考题数目的选择,记录,并通过QuestionSelecter 获得对应考题,以合适方式展示考题和备选答案给用户,记录用户选择答案,在完成所有考题后给出考试成绩(对多少题,错多少题)。