Java 将字符串转换为布尔值
我需要使用java代码解决此练习: 我们有一只猴子和一个布尔参数aSmile,我们需要知道猴子是否在笑,如果是,我们在trobule,如果不是,我们就好了Java 将字符串转换为布尔值,java,string,boolean,Java,String,Boolean,我需要使用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.p
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!");
}
}
}
问题是,无论我在控制台中写什么,我总是知道我们在trobule中
if(aSmile = true){ //Look here.
System.out.println("We are in trouble");
}
您正在为变量aSmile赋值
替换为:
if(aSmile) { //Or if(aSmile == true) {
...
您正在使用赋值运算符,然后检查布尔值
if(aSmile = true){
System.out.println("We are in trouble");
}
aSmile将始终为true,因为您将它指定为true,然后检查它是否为true。您必须使用==运算符,或者在本例中仅使用
if(aSmile){ // means if aSmile is true
}
您错误地使用了条件运算符。 应该是
if(aSmile){
}
将ifaSmile=true{更改为ifaSmile{或ifaSmile==true{;一个=是赋值。