4

我正在寻找一种在 while 循环中使用扫描仪的方法,而无需推进两次。

String desc = "";
while (!scanner.next().equals("END")) {
    desc = desc + scanner.next();
}           

如您所见,whenscanner.next()是在 while 循环的条件和 while 循环本身内部调用的。我希望它只推进扫描仪一次。有没有办法做到这一点?

4

2 回答 2

9

对的,这是可能的。您还应该检查Scanner其输入中是否有更多标记

String desc = "";
String next = null;
while (scanner.hasNext() && !(next = scanner.next()).equals("END")) {
    desc = desc + next;
}
于 2013-10-02T03:38:55.593 回答
1
    String temp = "";
    do {
        desc = desc + temp;
        temp = scanner.next();
    } while(!temp.equals("END"))

您可以使用 do-while 进行循环后条件检查

于 2013-10-02T03:41:40.393 回答