我需要使用java代码解决此练习:
我们有一个猴子和一个布尔参数aSmile,我们需要知道猴子是否在微笑,如果它不是“我们是好的”,它是否是“我们在trobule”。
import java.util.Scanner;
public class taxi {
public static void main(String[] args) {
boolean aSmile;
Scanner scan = new Scanner(System.in);
System.out.println("Is monkey A smiling?");
String answer = scan.nextLine();
if (answer.equalsIgnoreCase("yes")){
aSmile = true;
}
else if (answer.equalsIgnoreCase("no")){
aSmile = false;
}
else {
System.out.println("Sorry, write a correct answer");
}
if(aSmile = true){
System.out.println("We are in trouble");
}
else if (aSmile = false){
System.out.println("We are good!");
}
}
}
问题在于,无论我在控制台中写什么,我总是得到“我们处于片段中”。
答案 0 :(得分:1)
if(aSmile = true){ //Look here.
System.out.println("We are in trouble");
}
您将值true
赋给变量aSmile。
将其替换为:
if(aSmile) { //Or if(aSmile == true) {
...
答案 1 :(得分:0)
您正在使用赋值运算符,然后检查布尔值。
if(aSmile = true){
System.out.println("We are in trouble");
}
aSmile
将始终为真,因为您为其分配了true
,然后检查它是否为true
。您必须使用==
运算符,或者在这种情况下只需
if(aSmile){ // means if aSmile is true
}
答案 2 :(得分:0)
您错误地使用了条件运算符。 它应该像
if(aSmile){
}