ディスカッションフォーラムを前後に読んで、これに1日苦労してきましたが、結果はありません。関数aMenu()の2番目の呼び出しがゼロを返し、代わりに新しいユーザー入力を待たない理由を誰でも教えてくれますか?hasNextInt()、nextLine()など、さまざまなことを試しましたが、何も機能しませんでした。ユーザーが何かを書くまで、hasNextInt()をブロックするべきではありませんか?どうすればこれを解決できますか?ありがとう。
package FirstJavaPackage;
import java.util.Scanner;
public class testScanner
{
public static void main(String[] args)
{
int choice = aMenu();
System.out.println("You typed: "+choice);
choice = aMenu();
System.out.println("You typed: "+choice);
}
public static int aMenu()
{
int result = 0;
System.out.println("In aMenu... enter an int: ");
Scanner keyboard = new Scanner(System.in);
if (keyboard.hasNextInt())
result = keyboard.nextInt();
keyboard.close();
return result;
}
}
出力は次のとおりです。
aMenuに...intを入力します:2入力しました:2 aMenuに...入力しますint:入力しました:0