是控制台输入吗。为了方便类都写一个里面了。可以参考下
建立一个结果实体(标题、是否正确结果、选择的答案、正确答案)
建立一个题目list集合,用于存放题目(每个难度对应一个list)
建立一个结果list集合,用于存放作答后的信息
创建对应的题目对象,实体化实体,并且放入对应的list里面
根据选择对应的难度找到对应难度的list集合
然后遍历这个集合,依次显示每个题目的信息,并让用户作答,答完一个显示下一个题目,
获取用户选择的答案,用这个答案跟实体中的正确答案做比较
创建结果实体对象,将比较后的信息set到实体中。(标题、正确结果、选择的答案、正确答案)
将这个结果实体放入到结果list集合中;循环结束后遍历结果list集合显示就可以了。
代码:
import java.util.ArrayListimport java.util.List
import java.util.Scanner
public class SaveLog {
public static void main(String[] args) {
Scanner in = new Scanner(System.in)
// 提示信息
System.out.println("请输入数字选择题目难度,1:简单,2:困难")
// 获取到对应难度的题目
List<Question> questionList = getQuestionByLevel(in.nextInt())
// 创建结果list
List<QuestionResult> questionResults = new ArrayList<QuestionResult>()
// 总答题,正确,错误
int 扮空questionCount = questionList.size()
int correntCount = 0
int errorCount = 0
// 遍历题目
for (int i = 0 i < questionList.size() i++) {
搭孝 // 获取到题目
Question question = questionList.get(i)
System.out.println("题目" + (i + 1) + ":" + question.getTitle())
// 获取到题目选项并打印控制台
List<String> selected = question.getList()
for (String string : selected) {
System.out.println(string)
}
// 获取到选择的答案
String corrent = in.next()
// 获取到做题结果
QuestionResult qr = setQuestionResult(question, corrent)
// 计算错误与正确的题目
if (corrent.equalsIgnoreCase(question.getCorrentResult())) {
correntCount = correntCount + 1
} else {
errorCount = errorCount + 1
}
// 放入结果集合
questionResults.add(qr)
}
System.out.println("您一共答了" + questionCount + "道题,其中正确的为" + correntCount + "题,错误为" + errorCount + "题")
System.out.println()
// 遍历结果
for (QuestionResult questionResult 厅枝瞎: questionResults) {
if (!questionResult.getSelected().equals(questionResult.getCorrentResult())) {
System.out.println("错误题目:" + questionResult.getTitle())
System.out.println("是否正确:" + questionResult.getResult())
System.out.println("选择的答案:" + questionResult.getSelected() + ",正确答案:" + questionResult.getCorrentResult())
System.out.println()
}
}
}
public static QuestionResult setQuestionResult(Question question, String corrent) {
QuestionResult result = new QuestionResult()
result.setCorrentResult(question.getCorrentResult())
result.setTitle(question.getTitle())
result.setSelected(corrent)
// 如果答案正确
if (corrent.equalsIgnoreCase(question.getCorrentResult())) {
result.setResult("正确")
} else {
result.setResult("错误")
}
return result
}
/** 根据难度获取对应题目(1:简单。2:困难) */
public static List<Question> getQuestionByLevel(int level) {
List<Question> result = null
if (level == 1) {
// 创建list集合用于存放题目,简单难度
List<Question> questionList = new ArrayList<Question>()
// 添加题目到list
Question question = new Question()
question.setTitle("中国文化博大精深,请问1+2等于几?")
// 题目答案选项
List<String> list = new ArrayList<String>()
list.add("A:1")
list.add("B:2")
list.add("C:3")
list.add("D:6")
question.setCorrentResult("C")
question.setList(list)
// 将题目放到list集合
questionList.add(question)
// 设置返回结果
result = questionList
} else if (level == 2) {
// 创建list集合用于存放题目,简单难度
List<Question> questionList = new ArrayList<Question>()
// 添加题目到list
Question question = new Question()
question.setTitle("朝辞白帝彩云间的下一句是什么?")
// 题目答案选项
List<String> list = new ArrayList<String>()
list.add("A:千里江陵一日还")
list.add("B:野火烧不尽")
list.add("C:离离原上草")
list.add("D:智商捉鸡")
question.setCorrentResult("A")
question.setList(list)
// 将题目放到list集合
questionList.add(question)
// 设置返回结果
result = questionList
}
return result
}
}
/** 题目结果类 */
class QuestionResult {
/** 题目名称 */
private String title
/** 是否正确 */
private String result
/** 选择的答案 */
private String selected
/** 正确答案 */
private String correntResult
public String getTitle() {
return title
}
public void setTitle(String title) {
this.title = title
}
public String getResult() {
return result
}
public void setResult(String result) {
this.result = result
}
public String getSelected() {
return selected
}
public void setSelected(String selected) {
this.selected = selected
}
public String getCorrentResult() {
return correntResult
}
public void setCorrentResult(String correntResult) {
this.correntResult = correntResult
}
}
/** 题目类 */
class Question {
/** 题目名称 */
private String title
/** 题目的所有选项 */
private List<String> list
/** 正确答案 */
private String correntResult
public String getTitle() {
return title
}
public void setTitle(String title) {
this.title = title
}
public List<String> getList() {
return list
}
public void setList(List<String> list) {
this.list = list
}
public String getCorrentResult() {
return correntResult
}
public void setCorrentResult(String correntResult) {
this.correntResult = correntResult
}
}
粗略写了下,满足题目要求。楼主运行看看吧州信租。class Staff{
private String name
private int id
public Staff(String name,int id){
this.name = name
this.id =id
}
public void getInfo(){
System.out.println("name: " + name )
System.out.println("id: " + id)
}
}
public class Employee{
public static void main(String[] args){
Staff s1 = new Staff("王五"册兆,101)
Staff s2 = new Staff("张三坦燃",201)
s1.getInfo()
s2.getInfo()
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)