我正在寻找一种在while循环中使用扫描仪的方法,而不需要前进两次。
String desc = "";
while (!scanner.next().equals("END")) {
desc = desc + scanner.next();
}
如您所见,在while循环的条件和while循环内部调用scanner.next()
时。我希望它只能使扫描仪前进一次。有没有办法做到这一点?
答案 0 :(得分:8)
是的,这是可能的。您还应检查Scanner
在其输入中是否包含更多令牌
String desc = "";
String next = null;
while (scanner.hasNext() && !(next = scanner.next()).equals("END")) {
desc = desc + next;
}
答案 1 :(得分:1)
String temp = "";
do {
desc = desc + temp;
temp = scanner.next();
} while(!temp.equals("END"))
您可以使用do-while进行后循环条件检查