用java创建一个选择题类ChoiceQuestion,包含成员变量:题干(字符串)、可选答案(字符串数组)、正确答案(字符串),包含构造函数(带一个字符串参数,可以对字符串参数解析,并根据解析结果对成员变量赋值)和成员函数:输出题目,判断答案是否正确。输出题目的格式如下: He cut cloth with__sissors. A. a couple of B. a pair of C. two D. a
时间: 2024-03-16 07:47:42 浏览: 13
好的,以下是Java语言的ChoiceQuestion类实现:
```java
public class ChoiceQuestion {
private String questionStr;
private String[] options;
private String answer;
public ChoiceQuestion(String questionStr) {
this.questionStr = questionStr;
this.parseQuestionStr(questionStr);
}
private void parseQuestionStr(String questionStr) {
// 解析题目字符串,分离题干、选项和正确答案
String[] parts = questionStr.split("\\.");
this.questionStr = parts[0];
String optionsStr = parts[1].trim();
this.options = optionsStr.split(" ");
this.answer = this.options[0];
}
public void printQuestion() {
// 输出题目
System.out.println(questionStr + ".");
for (int i = 0; i < options.length; i++) {
System.out.println((char) ('A' + i) + ". " + options[i]);
}
}
public boolean checkAnswer(String userAnswer) {
// 判断答案是否正确
return userAnswer.toUpperCase().equals(answer.toUpperCase());
}
}
```
这个类的构造函数接收一个字符串参数,解析字符串并初始化成员变量。parseQuestionStr()方法负责解析字符串,将题干、选项和正确答案分离开来。printQuestion()方法输出题目,格式与你给出的例子相同。checkAnswer()方法用于检查用户的答案是否正确。注意这个方法中的toUpperCase()方法可以将字符串转换为大写,以避免大小写敏感的问题。