我希望系统接受大写字母M或S大写和小写,但它会不断循环。我哪里出错?
MS1 = JOptionPane.showInputDialog("Please enter Marital Status M or S. ");
while(MS1.substring(0) != "S" && MS1.substring(0) != "s" && MS1.substring(0) != "M" && MS1.substring(0) != "m"){
JOptionPane.showMessageDialog(frame, "Please enter S or M.only");
MS1 = JOptionPane.showInputDialog("Please enter Marital Status M or S. ");
}
答案 0 :(得分:0)
我们只能将null与字符串usin ==或!=进行比较,函数检查字符串的实际内容,==运算符检查对象的引用是否相等。请注意,字符串常量通常是" interned"这样两个具有相同值的常数实际上可以与==进行比较,但最好不要依赖它。
while(MS1.substring(0).equalsIgnoreCase("S") && MS1.substring(0).equalsIgnoreCase("M") {