我正嘗試在Java中創建一個基於文本的遊戲,我將要求輸入用戶名並將其插入遊戲中。我試圖用他們輸入的字符串評估任何數字。即09452
或asdf1234
。Java,確保用戶不輸入字符串中的數字
下面是與問題相關的代碼。
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
字符串中輸入數字的最佳方法是什麼?
你能請張貼的完整代碼。 – kaysush
在Swing中有JFormattedTextField或DocumentFilter for plain JTextField – mKorbel