import java.util.*;
public class ArrayExample {
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
boolean done = false;
while (!done) {
try {
System.out.println("Please enter the size of the array:");
String input = keyboard.next();
int size = new Integer(input).intValue();
int numbers[] = new int[size];
for (int i = 0; i < 20; i++) {
numbers[i] = i;
done = true;
System.out.println("Good.");
}
} catch (NumberFormatException ex) {
System.out.println("NumberFormatException Error. Please enter a integer.");
} catch (ArrayIndexOutOfBoundsException ex) {
System.out.println("ArrayIndexOutOfBoundsException Error. Please enter 20 or higher.");
} catch (NegativeArraySizeException ex) {
System.out.println("NegativeArraySizeException Error. Please do not enter a negative.");
}
}
}
}
このプログラムを実行すると、正しく機能しません。INTEGER 20 以上を入力しない限り、例外をスローする必要があります。ただし、「Good」と出力されます。20 未満の数値を入力すると、19 を入力すると「Good」と出力されます。19回。3 を入力すると、「Good」と出力されます。3回。「Good」だけを印刷したい。20以上を入力した場合。そうでない場合は、例外をループし続ける必要があります。