だから私はこれを理解しようとしてきましたが、役に立ちませんでした。NumberFormatException と ArrayIndexOutOfBoundsException の 2 つの例外がありながら、JTextField を int 配列に変換する必要があります。それを変換する方法を見つけることができましたが、文字を入力しても NumberFormatException がスローされません。
try {
int j=0;
String str = "" + numbersField.getText();
char digit[] = str.toCharArray();
for (int i=0; i<digit.length; i++) {
if (Character.isDigit(digit[i])) {
array[j]=Character.getNumericValue(digit[i]);
System.out.print(array[j] + " "); //Checking if it works
++j;
}
}
} catch (NumberFormatException e1) {
System.err.println("NumberFormatException: Array can only hold integers");
} catch (ArrayIndexOutOfBoundsException e1) {
System.err.println("ArrayIndexOutOfBoundsException: Array can only hold up to 10 elements");
}
個人的には、JTextField を char に変換するため、NumberFormatException をスローしていないと思いますが、完全に間違っている可能性があります。どんな助けでも大歓迎です。
編集: 私の意見では、プログラムは少し長いので、プログラムの一部のみを含めました。配列はこの前に初期化されます。プログラムのこの部分の最終的な目標は、文字が入力された場合、または 10 個の数字を超えた場合に例外をスローしながら、ユーザーに 10 個の数字の制限を入力させることです。例外を使用するのはこれが初めてで、まだ比較的慣れていないため、間違いがあった場合はご容赦ください。