0

我已经搜索了相当多的答案,但没有运气。

我有这个字符串:

String letter = JOptionPane.showInputDialog("Please insert the letter");

这是一种验证只有特定字母进入的方法:

        while (!letter.toLowerCase().matches("a|b|c|d|e|f|g|h|i|j|k")) {
            JOptionPane.showMessageDialog(null, "Please insert an appropriate letter");
            letter = JOptionPane.showInputDialog("Please insert the letter: ");       
        }

当我尝试获得这样的子字符串时:

   String letterString = letter.substring(0, 1);

   System.out.println(letterString);

即使输入了正确的值,也不会打印任何内容。Eclipse 进入调试模式并关闭 JOptionPane 消息框。

我究竟做错了什么?

4

1 回答 1

2

从这个运行示例中可以看出,您粘贴的代码运行良好。错误在其他地方。

public class StringValidation {
    public static void main(String[] args) {
        String letter = JOptionPane.showInputDialog("Please insert the letter");
        while (!letter.toLowerCase().matches("a|b|c|d|e|f|g|h|i|j|k")) {
            JOptionPane.showMessageDialog(null, "Please insert an appropriate letter");
            letter = JOptionPane.showInputDialog("Please insert the letter: ");
        }
        String letterString = letter.substring(0, 1);
        System.out.println(letterString);
    }
}
于 2013-09-20T18:26:12.060 回答