错误时的多个条件

时间:2015-12-01 04:36:01

标签: java while-loop

我希望系统接受大写字母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. ");
    }

1 个答案:

答案 0 :(得分:0)

我们只能将null与字符串usin ==或!=进行比较,函数检查字符串的实际内容,==运算符检查对象的引用是否相等。请注意,字符串常量通常是" interned"这样两个具有相同值的常数实际上可以与==进行比较,但最好不要依赖它。

while(MS1.substring(0).equalsIgnoreCase("S") && MS1.substring(0).equalsIgnoreCase("M") {