私はこのプログラムコードを持っています。ユーザーが「Three」などの文字列形式で入力を入力すると、そのプログラムにエラーメッセージが表示され、プログラムを再実行せずに適切な入力を再度ユーザーに促します。しかし、プログラムは再び入力を受け取りません。
//Program to get radius form user & calculate area of circle.
import java.util.InputMismatchException;
import java.util.Scanner;
public class AreaOfCircle {
public static void main(String[] args) {
final float PI=3.14f;
double rad=0.0;
Scanner input=new Scanner(System.in);
while(true){
try {
System.out.println("Enter radius of circle: ");
rad = input.nextDouble();
break;
}
catch (InputMismatchException e) {
System.out.println("Please enter radius in proper format");
}
}
System.out.println("Area of circle is: "+(PI*rad*rad));
}
}
出来上がりはこんな感じ。
Enter radius of circle:
Three
Please enter radius in proper format
Enter radius of circle:
Please enter radius in proper format
Enter radius of circle:
Please enter radius in proper format
Enter radius of circle:
Please enter radius in proper format
(infitely...)