java 鍵入字串不等於程式碼中的字串資料?

import java.io.*;

public class J

{

public static void main(String[] h)throws IOException

{

BufferedReader keyin=new BufferedReader(new InputStreamReader(System.in));

String keyin0;

keyin0=keyin.readLine();String t="吃";

boolean g="吃"==keyin0,k=t=="吃";

System.out.println(g);System.out.println(k);

System.out.print(keyin0+"!");

}

}

/*簡單說明我的疑問:我想要用鍵盤輸入的字串來當條件:if(keyin=="吃")

結果發現這個問題,由主控台輸入的字串不會等於程式中寫的字串耶~"~,

如上我做的實驗,如果我在主控台輸入:吃,結果會顯示↓

false

true

吃!

我要如何解決這個問題(主要是我想用輸入的字串當條件),

可以看得懂我的問題嗎我表達能力不太好Q_Q?..PS:我是初學者,很多名詞可能打錯(請提醒我),另外請盡量解釋清楚一點謝謝QQ*/

已更新項目:

/**To John..我很努力去理解了..小弟不才看不懂QQ*/

2 個已更新項目:

不過謝了我從那個網站找到合用的方法了!!!!

用String的equals()就可以了!!

2 個解答

評分
  • John
    Lv 6
    8 年前
    最佳解答

    readLinepublic String readLine() throws IOExceptionReads a line of text. A line is considered to be terminated by any one of a line feed ('\n'), a carriage return ('\r'), or a carriage return followed immediately by a linefeed.Returns:A String containing the contents of the line, not including any line-termination characters, or null if the end of the stream has been reachedThrows:IOException - If an I/O error occurs

  • ==

    比較的不是內容,而是address

    你應該用equals

    ex:

    if(t.equals("吃"))

    2012-09-12 18:23:41 補充:

    keyin0.equals(t)

還有問題?馬上發問,尋求解答。