我想用java重复一个语句

我想用java重复一个语句,java,Java,我想问一个关于床罩的问题,虽然答案不是我选择的,但我希望它能让用户再次回答 导入java.util.Scanner public static void main(String[] args) { String newBedType ; Scanner sc1 = new Scanner(System.in) ; System.out.println("you want a single bed or doublebed? ") ; newBedType = sc

我想问一个关于床罩的问题,虽然答案不是我选择的,但我希望它能让用户再次回答

导入java.util.Scanner

public static void main(String[] args) {
    String newBedType ;
    Scanner sc1 = new Scanner(System.in) ;
    System.out.println("you want a single bed or doublebed? ") ;
    newBedType = sc1.next() ;

    while (newBedType != "single" + "doublebed") {
    System.out.println("please choose againe the bed size: ");
    newBedType = sc1.next() ;
    switch (newBedType) {
    case "single" : System.out.println("i see you like sleeping alone"); 
    break ;
    case "doublebed" : System.out.println("got company ;) ");
    break ;
    }

    }               

}
}

代码有点工作,它显示了如果我写正确的字符串的情况,但它将继续问我永远

我刚开始学习java,所以对我来说很简单,我知道这是一个愚蠢的问题,但经过几个小时的尝试和搜索(虽然我在python中找到了,但不知道如何将其“翻译”为java)
我想不出来。。。感谢所有愿意提供帮助的人:)

您的问题在于:

 while (newBedType != "single" + "doublebed")
 while (!newBedType.equals("single") && !newBedType.equals("doublebed"))
这和你想象的不一样。将变量newBedType与字符串“singledoublebed”进行比较时,加法运算符将这两个字符串连接起来。你要排队吗

 while (newBedType != "single" + "doublebed")
 while (!newBedType.equals("single") && !newBedType.equals("doublebed"))

请注意.equals()方法的使用,因为Java中的字符串比较在==或!=运算符。

如果他标记while循环并重新使用开关中的比较以断开该标签,则这甚至是不必要的。