Javaでテキストベースのゲームを作成しようとしています。このゲームでユーザーの名前を尋ね、ゲームに挿入します。入力した文字列に任意の数字を付けて評価しようとしています。すなわち09452またはasdf1234。
これが問題に関連するコードです。
String name, choiceSelection;
int choice;
name = JOptionPane.showInputDialog(null, "Enter your name!");
//CHECKS IF USER ENTERED LETTERS ONLY
if (Pattern.matches("[0-9]+", name))
{
throw new NumberFormatException();
}
else if (Pattern.matches("[a-zA-Z]+", name))
{
if (Pattern.matches("[0-9]+", name))
{
throw new NumberFormatException();
}
}
文字列に数字が含まれているかどうかを調べようとしてNumberFormatExceptionいます。含まれている場合は、正しいプロンプトに従わなかったことを知らせるためにをスローします。
nameユーザーが文字列に数字を入力しないようにするための最良の方法は何ですか?