チェックこの - それは入力中にあなたが任意の数字が存在している得るかどうかを確認するための簡単な方法です:
studentArray[0][studentNumber] = firstField.getText() + " " + lastField.getText();
Pattern p = Pattern.compile("([0-9])");
Matcher m = p.matcher(studentArray[0][studentNumber]);
if(m.find()){
System.out.println("Please enter valid names");
}
は、あなた自身で定義された例外をスローしてたときに間違ったそれをスローする可能性があります入力が発生しますが、try-catchブロックでこの入力をテストする場合は、この種の例外をスローするメソッドにユーザーが入力を求められるコードを指定する必要があります。
多分、本当に深刻な問題が発生したことを示す例外を投げるよりも、問題を解決する別の方法があります。上記のコードで誤った入力が検出された場合に、別の入力を行う次のチャンスをユーザに提供するためのより良い解決策ではない場合は、私はあなたのケースで提案します。 do-whileループを作成することで複数の入力を達成することができ、そのループを終了させる条件として、最後に正しい入力が行われたときに変更されるブール値フラグを使用できます。例外を投げるのではなく、プログラムの通常の進行を続けることができます。
@JoeC重複は全く反対ではありませんか?受け入れられた答え_から、文字列が有効な整数かどうかを確認します。 – pirho
これは実際には真実です(それは私の旗でした)。しかし、ユーザーが解答から解を導き出すことができればと願っています。 –
@RichChurcher大丈夫、ちょうど私が怒っていると思っているのは**実際の二重引用符を置いてからです:)まあ、二重引用符。 – pirho