2015-09-28 106 views
2

我正在編寫一個BigInteger類來處理大數字。 我的BigInteger類有一個字符串變量number來保存數字的絕對值和一個整數變量sign來保存這個數字的符號。無法獲取對象的屬性

這裏是我的函數來比較兩個數字:

public boolean equals(Object other) 
    { 
     if (other instanceof BigInteger) 
      return toString().equals(other.toString()) && sign == other.sign; 
     return false; 
    } 

然而,當我編譯,我得到這個錯誤:

java: cannot find symbol symbol: variable sign location: variable other of type java.lang.Object

誰能解決這個錯誤?謝謝

+0

你構建路徑是錯誤的,你怎麼編譯呢?通過日食? –

+0

你可以發佈全班?所以只有我們可以解決 –

+0

請顯示完整的課 – Jens

回答

4

您需要將other轉換爲BigInteger

如果你不投other它被認爲是Object類型沒有一個屬性sign(正是你所犯的錯誤)。

下面是代碼:

public boolean equals(Object other) { 
    if (other instanceof BigInteger) { 
     return toString().equals(other.toString()) && sign == ((BigInteger) other).sign; 
    } 
    return false; 
} 
+0

謝謝你,這真的是我的問題 – pexea12

+0

如果你覺得這個答案有用,你可以用綠色檢查將它標記爲正確答案。 –

+0

是的,我必須等10分鐘,直到我能做到這一點:) – pexea12