5

嗨,我觉得问这个很愚蠢,因为我应该可以做到,但我做不到!我也在网上和我的书中查过,对于这么简单的事情,什么都没有(或者我可以看到)。

我想做的是向用户展示 JOptionPane.showInputDialog(null,... 并检查

  1. 它不是空白的
  2. 它不包含数字或特殊字符,例如 /><.!"£$%^&*()

如果它未能通过这些测试中的任何一个来重新显示盒子,那么他们必须这样做,嗯,这是一件如此简单的事情,但我就是无法解决:(

请原谅我的愚蠢!感谢您提前提供的任何帮助!

4

2 回答 2

2

有一个显示输入对话框的方法,验证输入并在正常时返回输入,否则它会调用自身重复该过程,直到输入有效。像这样的东西:

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);
于 2011-03-02T15:27:57.443 回答
0

照你描述的做。显示对话框并检查结果。如果无效,则再次显示该对话框。

可能想要使用 do while 循环或类似于总是循环一次的东西。此外,您还需要使用正则表达式来验证不存在特殊字符。

于 2011-03-01T16:49:29.573 回答