在开始之前,我想指出,由于无法进行锻炼,我处于严重的压力和沮丧状态。我搜索并询问了整个互联网,我感到绝望。作为我最后的希望,我来到Stack Overflow来问这个问题。我不懂运动。这是一个非常奇怪的。如果你能帮我制作一个我坚持了一个月的练习,我将永远感激你。我的生活真的取决于此。请帮帮我。
public class Question {
private String text;
private String answer;
public Question() {
text = "";
answer = "";
}
public void setText(String questionText) {
text = questionText;
}
public void setAnswer(String correctResponse){
answer = correctResponse;
}
public boolean checkAnswer(String response){
return response.equals(answer);
}
public void display() {
System.out.println(text);
}
}
我要在这个类中添加一个类FillInQuestion。这样的问题用一个包含答案的字符串构成,用_ _包围,例如,Java的发明者是 James Gosling 。这个问题应该显示为Java的发明者是_____。但我不确定我怎么能做到这一点?我是否可以通过这种方式获得包含答案的字符串。
该问题被引用为“在第9.1节的问题层次中添加类FillInQuestion。这样的问题是
例如,用_ _
包围的包含答案的字符串构造,
“The inventor of Java was _James Gosling_
”。问题应显示为
The inventor of Java was _____
“
如何构建包含这样答案的字符串?
如何显示_James Gosling_
____
?
他们的意思是什么。我不明白。
谢谢。
答案 0 :(得分:1)
public class Demo
{
public static void main(String[] args)
{
String question = "The inventor of Java was _James Gosling_";
Pattern p = Pattern.compile("_(.*?)_");
Matcher m = p.matcher(question);
if (m.find())
{
System.out.println("question before edit : " + question);
String answer = m.group(1);
System.out.println("Answer after edit : " + m.group(1));
question = question.replace(answer, "_______");
System.out.println("question after edit : " + question);
}
}
答案 1 :(得分:0)
我认为输入将是String
,您需要提取答案并创建问题文本。
public FillInQuestion(String fillInQuestion) {
// The inventor of Java was _James Gosling_ -> James Gosling
this.answer = extractAnswer(fillInQuestion);
// The inventor of Java was _James Gosling_ -> The inventor of Java was _____
this.text = createQuestion(fillInQuestion);
}