<1>前言:
知识点:
1.类的定义:
代码中定义了三个类,Question、Answer和Paper,分别用来表示问题、答案和试卷。每个类都包含了相应的属性和方法。
2.对象的创建:
在main方法中通过new关键字创建了Question、Answer和Paper类的对象,然后对对象的属性进行赋值和操作。
3.HashMap的使用:
代码中使用了HashMap来存储问题的答案、正确与否等信息,通过键值对的方式进行数据存取。
4.字符串操作:
代码中使用了字符串的split、replaceAll等方法来处理输入的字符串数据,提取出需要的信息。
5.简单循环:
代码中使用了for循环来遍历问题和答案,对每道题目进行判断并输出结果。
6.类方法:
类中使用了构造方法、私有属性和公有方法等面向对象的特性。
7.LinkedHashMap使用:
LinkedHashMap的调用避免了Hashmap自动排序
8.entrySet()使用(循环):
entrySet()的使用
9.逻辑方法:
对于关联类逻辑处理以及方法调用
题量:
三次题量依次增加,总体较大,对于不熟悉题目的学生需要花费数个小时解决甚至数十个小时
难度:
大
<2>设计与分析:
答题判-1:
这段代码实现了一个简单的答题系统,包括输入题目信息、学生答案以及判断答案是否正确,并输出结果。以下是对代码设计与分析的主要内容:
1.类设计:
Question 类:表示题目,包括题目内容、标准答案和题目类型。
Paper 类:代表试卷,包括题目数量、题目数组、题目答案和题目内容等信息。
Answer 类:表示学生答案,包括学生的每道题答案、是否正确以及试卷信息等。
2.关键数据结构:
使用了 HashMap 来存储题目内容、标准答案、学生答案以及判断每道题的答案是否正确。
HashMap 提供了快速查找和检索功能,方便对题目信息进行管理和处理。
3.输入处理:
使用 Scanner 对用户输入进行处理,包括题目数量、题目内容、学生答案等。
通过 split 方法对输入的字符串进行分割,提取出题目类型、内容和标准答案等信息。
4.题目与答案匹配:
将题目内容、标准答案存储到 Paper 对象中的 HashMap 中,便于后续查找。
将学生的答案存储到 Answer 对象中的 HashMap 中,并通过对比判断是否正确,结果存储在 trues 中。
5.程序逻辑:
程序逻辑清晰,按顺序进行输入处理、匹配答案、输出结果。
通过对每一步的处理,完成了整个答题系统的功能。