元のコードは次のとおりです。
public static int getInt ()
{
Scanner in = new Scanner (System.in) ;
if (in.hasNextInt())
{
int a = in.nextInt() ;
return a ;
}
else
{
System.out.println ("try again:") ;
return getInt () ;
}
}
これは、受け取った入力が int かどうかをチェックして確認します。そうである場合は int を返し、そうでない場合は再試行して再実行するように指示します。
これは私がそれを変更するためにやろうとしたことです:
public static String getIns ()
{
Scanner in = new Scanner (System.in) ;
if (in.hasNextString())
{
String a = in.nextString() ;
return a ;
}
else
{
System.out.println ("try again:") ;
return getIns () ;
}
}
しかし、これはうまくいきません。私はスキャナークラスのドキュメントに目を通しましたが、問題は次のようなメソッドがないことだとin.hasNextString
思いin.nextString
ます。