У меня возникла проблема с заменой моей строки.Заполнить пробел
Это метод класса вопросов.
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);
}
}
И это мой метод
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();
}
}
Это мой основной класс
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));
}
}
}
Из того, что я понимаю, я заменить [подчеркивание] 4 [подчеркивание] с 5х [ подчеркивание], это похоже на заполнение заготовки, я храню 4. и заменяю часть строки на _ __ _ _. Unfortado, это мой результат. Я думаю, что моя логика правильная, но я понятия не имею, почему мое возвращение не то, что я ожидал.
Что вы пытаетесь заменить? – Blender
_4_ с _____ только эта часть строки – Michael
Вы возвращаете 'temp', который не был изменен ...' temp' in, 'temp' out, без изменений .... – MadProgrammer