0

ユーザーが端末を介して入力したデータが、プログラムで必要な正しいタイプであることを確認したいと思います。そうでない場合、コードはループして、次のステップに進む前にデータを再度要求する必要があります。

例:

ターミナルのメッセージは次のとおりです。

番号を入力してください:

ユーザーは次のような文字列を入力します

はい

ユーザーが type の数値を入力するまで、プログラムをループして数値を再度要求するにはどうすればよいdoubleですか?

これまでのコードは次のとおりです。

System.out.println("Enter number:");
double number = scanner.nextDouble();
4

2 に答える 2

1
double number;

try
{
   number = scanner.nextDouble();
   number = parseDouble(inputString);
}
catch(NumberFormatException nfe)
{
   System.out.println("Please enter a valid double!");
   number = scanner.nextDouble();
   number = parseDouble(inputString);
   // if the input is not valid again, you need a loop, rethink.
}
于 2012-11-17T21:21:25.313 に答える
1

を使用しているScannerので、 を使用できますScanner.hasDouble()。確実に有効な double を取得するには、いくつかのループ メカニズム必要になります。

boolean numberFound = false;
while (!numberFound) {
   if (input.hasNextDouble()) {
    number = input.nextDouble();
    numberFound = true;
   } else {
    System.out.println("Invalid double " + input.next());
   }
}
于 2012-11-17T21:29:13.840 に答える