嗨,我觉得问这个很愚蠢,因为我应该可以做到,但我做不到!我也在网上和我的书中查过,对于这么简单的事情,什么都没有(或者我可以看到)。
我想做的是向用户展示 JOptionPane.showInputDialog(null,... 并检查
- 它不是空白的
- 它不包含数字或特殊字符,例如 /><.!"£$%^&*()
如果它未能通过这些测试中的任何一个来重新显示盒子,那么他们必须这样做,嗯,这是一件如此简单的事情,但我就是无法解决:(
请原谅我的愚蠢!感谢您提前提供的任何帮助!
嗨,我觉得问这个很愚蠢,因为我应该可以做到,但我做不到!我也在网上和我的书中查过,对于这么简单的事情,什么都没有(或者我可以看到)。
我想做的是向用户展示 JOptionPane.showInputDialog(null,... 并检查
如果它未能通过这些测试中的任何一个来重新显示盒子,那么他们必须这样做,嗯,这是一件如此简单的事情,但我就是无法解决:(
请原谅我的愚蠢!感谢您提前提供的任何帮助!
有一个显示输入对话框的方法,验证输入并在正常时返回输入,否则它会调用自身重复该过程,直到输入有效。像这样的东西:
private String showInputDialog()
{
String inputValue = JOptionPane.showInputDialog("Please input something");
if(inputValue == null || inputValue.isEmpty() || !inputValue.matches("[A-Za-z]*"))
{
inputValue = showInputDialog();
}
return inputValue;
}
!inputValue.matches("[A-Za-z]*")除了任意数量的字母 a 到 z(大写或小写)之外的任何输入都会触发where 。
然后从您的代码中调用它并使用返回值做任何您想做的事情。
String input = showInputDialog();
System.out.println(input);
照你描述的做。显示对话框并检查结果。如果无效,则再次显示该对话框。
可能想要使用 do while 循环或类似于总是循环一次的东西。此外,您还需要使用正则表达式来验证不存在特殊字符。