Java不兼容类型boolean和char
我正在编写一个文本冒险,我遇到了以下错误:Java不兼容类型boolean和char,java,Java,我正在编写一个文本冒险,我遇到了以下错误: Error:(59, 45) java: incompatible types: java.lang.String cannot be converted to boolean Error:(60, 29) java: incomparable types: boolean and char Error:(60, 36) java: bad operand types for binary operator '&&' first t
Error:(59, 45) java: incompatible types: java.lang.String cannot be converted to boolean
Error:(60, 29) java: incomparable types: boolean and char
Error:(60, 36) java: bad operand types for binary operator '&&'
first type: boolean
second type: char
Error:(64, 26) java: incomparable types: java.lang.Boolean and char
Error:(64, 33) java: bad operand types for binary operator '&&'
first type: boolean
second type: char
我是java新手,大约有一周的经验,尝试过将&&to | |,改为布尔值,再改回字符串
switch (firstChoice){
case "go to mailbox":
System.out.println("The mailbox is closed. Open it?(y/n");
userInput.nextLine();
String mailbox;
mailbox = userInput.nextLine();
if (mailbox == 'Y' && 'y')
System.out.println("The mailbox is rusted shut. Pull harder?");
当邮箱生锈关闭时,输出应为。用力拉?首先,将==字符串与字符进行比较。第二,你想要一个或不是一个,最后,它会更干净与equalsIgnoreCase。像 或是使用
您可以试用ifY.equalsIgnoreCasemailbox,而不是mailbox='Y'&&&'Y',这应该可以使用。firstChoice似乎是一个布尔值,因此只能有true或false值。您试图将其与字符串go to mailbox进行比较。用您自己的话来说,用简单的英语来说,您认为mailbox='Y'&&&'Y'是什么意思?@KarlKnechtel如果用户输入是Y或Y,则表示邮箱已生锈关闭。@Therediper如果您有任何编译错误,请添加完整的编解码器类。这将有助于调试问题。可能会将“”单引号更改为双引号,因为您要从中获取它的是字符串,而不是字符。然而,在这种情况下,你需要做一个.equals。
if (mailbox.equals("Y") || mailbox.equals("y"))
if ("Y".equalsIgnoreCase(mailbox))