title: Fill in the blank
body: <p>I'm having a problem replacing my String.</p>
  
  <p>This is the Question class method.</p>
  
  <pre><code>public class Question
  {
  private String text;
  private String answer;
  
  /**
  Constructs a question with empty question and answer.
   */
  public Question(String qText) 
  {
      text = qText;
      answer = "";
  }
  
  /**
  Sets the answer for this question.
  @param correctResponse the answer
   */
  public void setAnswer(String correctResponse)
  {
      answer = correctResponse;
  }
  
  /**
  Checks a given response for correctness.
  @param response the response to check
  @return true if the response was correct, false otherwise
   */
  public boolean checkAnswer(String response)
  {
      return response.equals(answer);
  }
  
  /**
  Displays this question.
   */
  public void display()
  {
      System.out.println(text);
  }
  }
  </code></pre>
  
  <p>And this is my method</p>
  
  <pre><code>This is my blankQuestions class
  
  import java.util.ArrayList;  
  
  
  public class BlankQuestion extends Question {  
  
  public BlankQuestion(String qText) {   
      return qText.replaceAll("_+\\d+_+", "_____");
  
  
      String tempSplit[] = questionText.split("_");  
      setAnswer(tempSplit[1]);  
  
  }  
  public void setAnswer(String correctChoice){  
      super.setAnswer( correctChoice );  
  
  }  
  
  @Override  
  public boolean checkAnswer (String response){  
      return super.checkAnswer(response);  
  
  }  
  
  public String toString(){  
      return super.toString();  
  }  
  
  
  }  
  </code></pre>
  
  <p>This is my main class</p>
  
  <pre><code>import java.util.Scanner;  
  
  public class QuestionDemo  
  {  
  public static void main(String[] args)  
  {  
    Question[] quiz = new Question[2];  
  
    BlankQuestion question0 = new BlankQuestion(  
       "2 + 2 = _4_");  
    quiz[0] = question0;  
  
    BlankQuestion question1 = new BlankQuestion(  
       "The color of the sky is _blue_.");  
    quiz[1] = question1;  
  
    Scanner in = new Scanner(System.in);  
    for (Question q : quiz)  
    {  
       q.display();  
       System.out.println("Your answer: ");  
       String response = in.nextLine();  
       System.out.println(q.checkAnswer(response));  
    }  
  }  
  }  
  </code></pre>
  
  <p>From what I understand, I'm replace [underscore]4[underscore] with 5x[underscore], this is similar to filling in the blank, I store the 4. and replace the part of the string with <strong><em>_</em>__<em>_</em>_</strong>. Unfortado, that is my result. I think my logic is right, but I have no idea why my return is not what I expected.</p>