Java susbstring在字符串验证后中断
我到处寻找这个问题的答案,但运气不好 我有这个字符串:Java susbstring在字符串验证后中断,java,swing,Java,Swing,我到处寻找这个问题的答案,但运气不好 我有这个字符串: 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, "Pleas
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消息框关闭
我做错了什么?从这个运行的示例中可以看出,粘贴的代码工作得非常好。错误在别的地方
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);
}
}
1)
子字符串(0)
无效;子字符串是整个字符串。2) 我不知道在哪里声明或分配了letterGrade
。肯定有堆栈跟踪。你能把它贴出来让我们看看吗?你正在“替换”字母串并打印字母等级…所以…你知道…@dierre啊,我粘贴时的错误。在代码中,它实际上是字母字符串。@tman道歉,粘贴时出错。实际代码现在更新了。是的,你完全正确。。。当我删除验证时,它工作正常,所以我推断它很可能是表单。非常感谢您的帮助和时间,我将返回并排除一些其他可能性。