我正在尝试用 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
字符串中输入数字的最佳方法是什么?