2015-09-28 108 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