新的扫描仪(参数),不明白

时间:2017-03-12 18:53:23

标签: java

所以我现在正在做作业。我正在学习Big Java Late Objects。有一项任务说明如下:

public boolean checkAnswer(String response) {
    Scanner parser = new Scanner(response);
    ArrayList<String> correctAnswersSeen = new ArrayList<String>();
    int totalAnswers = 0;
    while (parser.hasNext()) {
        String answer = parser.next();
        if (this.allAnswers.contains(answer) && !correctAnswersSeen.contains(answer)) {
            correctAnswersSeen.add(answer);
        }
        totalAnswers += 1;
    parser.close();
    }
    return correctAnswersSeen.size() == this.allAnswers.size() && totalAnswers == allAnswers.size();
}

我真的不明白前两行。好吧,我知道他们是一个名为checkAnswer的新布尔方法,其中String作为参数。

但是在那之后会发生什么:Scanner parser = new Scanner(response)。那是什么意思?通常我使用new Scanner(System.in),我明白这一点。

但是如何使用new Scanner对象中方法的参数呢?

1 个答案:

答案 0 :(得分:2)

这意味着输入字符串会进入Scanner

请参阅the JavaDocs

  

构造一个新的Scanner,用于生成从指定字符串扫描的值。

     

参数:

     

source - 要扫描的字符串