我正在寻找一种在 while 循环中使用扫描仪的方法,而无需推进两次。
String desc = "";
while (!scanner.next().equals("END")) {
desc = desc + scanner.next();
}
如您所见,whenscanner.next()
是在 while 循环的条件和 while 循环本身内部调用的。我希望它只推进扫描仪一次。有没有办法做到这一点?
我正在寻找一种在 while 循环中使用扫描仪的方法,而无需推进两次。
String desc = "";
while (!scanner.next().equals("END")) {
desc = desc + scanner.next();
}
如您所见,whenscanner.next()
是在 while 循环的条件和 while 循环本身内部调用的。我希望它只推进扫描仪一次。有没有办法做到这一点?
对的,这是可能的。您还应该检查Scanner
其输入中是否有更多标记
String desc = "";
String next = null;
while (scanner.hasNext() && !(next = scanner.next()).equals("END")) {
desc = desc + next;
}
String temp = "";
do {
desc = desc + temp;
temp = scanner.next();
} while(!temp.equals("END"))
您可以使用 do-while 进行循环后条件检查