2017-04-03 85 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); 
}