填写问卷调查Java练习

时间:2017-04-03 10:13:52

标签: java

在开始之前,我想指出,由于无法进行锻炼,我处于严重的压力和沮丧状态。我搜索并询问了整个互联网,我感到绝望。作为我最后的希望,我来到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_ ____? 他们的意思是什么。我不明白。

谢谢。

2 个答案:

答案 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);
}
相关问题