我正在制作一个JOptionpane,用户可以在其中输入他的名字。所以它不能为空,也不能为数字
空的部分正在工作,但现在我必须找到数字部分的解决方案
如您在我的代码中看到的,我做了一个while循环来检查“ naam”是否不为空。现在,我需要找到一种方法来检查“ naam”是否不是数字。
String naam = JOptionPane.showInputDialog("Geef uw naam in: ");
while (naam.equals("")) {
JOptionPane.showMessageDialog(null, "Geef een naam in", "Geef naam", JOptionPane.ERROR_MESSAGE);
naam = JOptionPane.showInputDialog("Geef uw naam in: ");
最佳答案
您可以使用正则表达式检查它是否包含任何数字。 Java中的正则表达式“ \\ D”代表非数字,“ +”代表1或更大。因此,您可以将while循环更改为:
while (!naam.matches("\\D+"))
这将包括空的等号检查,因为您需要至少一个非数字来使其匹配。