周末老師讓寫一個 猜數字的java小游戲,隨機生成一個不同的四位數,然后根據用戶的輸入來判斷 ,給出相應的結果
每次都是輸入4位數字,按照標准,
分為數字存在(記錄為B);
數字存在且位置正確(記錄為A)
例如: 生成數字1234
競猜數字: 1367(提示競猜結論: 1A1B)
然后我結果定義的返回類型是一個字符串,然后用一個String jieguo來接收,在最后判斷是否猜中數字時,應該和字符串"4A"進行比較,
開始我直接就用if(jieguo=="4A")來判斷兩個字符串是否相同,但是發現不行。
於是找度娘 發現了其中的不同:
比較字符串時,如果使用“==”比較兩個對象時,比較的是兩個對象的內存地址,所以不相等。即使它們內容相等,但是不同對象的內存地址也是不相同的。
所以就有了 equals();
例如:
String A=new String( "aaa" );
String B=new String( "aaa" );
這兩個字符串當然應該是相等的。
如果用表達式A==B,則該表達式的值為false
如果用表達式A.equals(B),則該表達式的值為true ;
equals()比較的是對象的內容(區分字母的大小寫格式).