我試圖執行toString
方法,並且toString
的輸出取決於boolean
變量。以下是我的課程和主要內容。if和else語句
public class Cell {
public int addSpaces;
boolean isEmpty;
boolean isChute;
boolean isLadder;
public Cell() {
addSpaces = 10; //I initialized addSpaces to 10 for testing purpose
}
public boolean isChute() { //first boolean method
if (addSpaces == -10) {
return true;
} else {
return false;
}
}
public boolean isLadder() {//second boolean method
if (addSpaces == 10) {
return true;
} else {
return false;
}
}
public boolean isEmpty() { //third boolean method
if (addSpaces == 0) {
return true;
} else {
return false;
}
}
public String toString() {
String print;
if (isChute = true) //if isChute is true return true.
{
print = "C10"; // toString output = "C10"
} else if (isLadder = true) // if isLadder is true return true
{
print = "L10"; // toString output == "L10"
} else {
print = "---"; // else toString print output = "---"
}
return print;
}
public static void main(String[] arg) {
Cell s = new Cell();
System.out.println(s.addSpaces);
System.out.println(s);
}
}
不管toString
輸入狀態的,我基本上得到了相同的輸出「C10」。
有人能告訴我我做錯了什麼嗎?
我是新來這個網站,所以我很感激任何反饋,以備將來參考。謝謝。
你應該有==內,如果不= – rajesh 2013-03-15 05:18:51
您作爲使用賦值運算符=進行比較,因此只有第一個條件執行所有的時間。使用== – 2013-03-15 05:19:00
謝謝@rajesh&Sudhanshu:是的,我嘗試使用if(==)而不是if(=),但輸出爲「---」。通過在if語句中使用==,它會跳過if和else if語句並轉到else語句。 – Phong 2013-03-15 05:25:08