2016-11-29 154 views
-3

我需要使用Java代碼來解決這個練習:將字符串轉換爲布爾

我們有一隻猴子和一個布爾參數微笑卻把,我們需要知道,如果猴子在微笑,而如果是「我們在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!"); 
    } 
    } 
} 

問題是我總是得到「我們在流膿」,無論我在控制檯中寫什麼。

+5

變化'如果(微笑卻把=真){''到如果(微笑卻把){'** **或'如果(微笑卻把== TRUE){';一個'='是* assignment *。 –

回答

1
if(aSmile = true){ //Look here. 
    System.out.println("We are in trouble"); 
} 

您正在將值true賦值給變量aSmile。

將其替換爲:

if(aSmile) { //Or if(aSmile == true) { 
    ... 
0

您正在使用的賦值運算符,然後檢查布爾值。

if(aSmile = true){ 
     System.out.println("We are in trouble"); 
    } 

aSmile將永遠是真實的,因爲你爲它分配true,然後檢查它是否是true。您必須使用==運營商或在這種情況下,簡單地

if(aSmile){ // means if aSmile is true 
} 
0

你沒有正確使用條件運算符。 應該是這樣

if(aSmile){ 

    }