2回進むことなく、whileループでスキャナーを使用する方法を探しています。
String desc = "";
while (!scanner.next().equals("END")) {
desc = desc + scanner.next();
}
ご覧のとおりscanner.next()
、while ループの条件と while ループ自体の内部で when が呼び出されます。スキャナーを1回だけ進めたい。それを行う方法はありますか?
2回進むことなく、whileループでスキャナーを使用する方法を探しています。
String desc = "";
while (!scanner.next().equals("END")) {
desc = desc + scanner.next();
}
ご覧のとおりscanner.next()
、while ループの条件と while ループ自体の内部で when が呼び出されます。スキャナーを1回だけ進めたい。それを行う方法はありますか?
はい、可能です。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を使用できます