2017-04-03 57 views
-6

在开始之前,我想指出,由于无法进行锻炼,我处于严重的压力和挫折之中。我在互联网上搜索和询问,我感到绝望。作为我最后的希望,我来到Stack Overflow来问这个问题。我不懂运动。这是一个非常奇怪的。我会永远感激你,如果你能帮助我做这个练习,让我坚持一个月。我的生活真的取决于这一点。请帮帮我。填写问卷调查Java练习

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的发明者是_____。但我不知道我该如何做到这一点?我能否以这种方式获得包含答案的字符串?

问题被引为“添加类FillInQuestion 9.1节的问题层次结构。这样的问题是与包含应答的字符串,通过_ _包围,例如, 构造 ” The inventor of Java was _James Gosling_”,问题应该显示为 The inventor of Java was _____

如何构造一个包含答案的字符串? 如何显示_James Gosling_____? 这是什么意思。我不明白。

谢谢。

+0

你不能要求你的老师解释他想要什么? –

+0

我是自学的。我买了一本书,我自己也学习了。我需要了解每一项练习,这是学习良好的原则。 –

+0

我认为这个输入就像'Java的发明者是_James Gosling_'。要提取答案,您可以使用[String.split](https://docs.oracle.com/javase/7/docs/api/java/lang/String.html#split(java.lang.String))或常用表达。 –

回答

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); 
     } 
    } 
+0

你好!什么是。*? for和m.group(1)是什么意思? –

+0

你好,我想非常感谢大家帮助我!我已经添加了这个代码,并且我已经能够完成这个练习,Alex,Anurag,Stefan谢谢你! –

+0

很高兴听到,请投票给我兄弟 –

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); 
}