0
これはあまりにも初心者である場合はお詫び申し上げます。私は自分の[Object o]がどのように範囲外にあるのか、それがシンボルを見つけることができない理由を理解しています。java:シンボルを見つけることができません。記号:可変長
しかし、私は問題を解決できないようです。私はどこが間違っているのか完全にわかりません。私はこれが私の課題の最後の問題だと思っています。それは深夜です。
任意の助けいただければ幸いです:)
public class Square implements Shape
{
double length;
public Square(double length)
{
this.length = length;
}
@Override
public String toString()
{
return "Square";
}
@Override
public boolean equals(Object o)
{
if (o == null)
return false;
if(this.getClass() != o.getClass())
return false;
if (o.length == this.length)
return true;
else
return false;
}
@Override
public int hashCode()
{
return (int)length % 50;
}
public double getPerimeter()
{
return length * 4;
}
}
C:\Users\RimZ\IdeaProjects\Assignment1\src\Square.java
Error:(24, 22) java: cannot find symbol symbol: variable length location: variable o of type java.lang.Object
if (o.*length* == this.length)
return true;
^問題は、あなたがSquare
にあなたのObject
をキャストする必要が
'Object'sはそうではありませんフィールドは 'length'です。オブジェクトをキャストしてチェックします。 – Li357
長さが50の倍数の正方形は '=='と見なされますか?少なくとも、それはあなたのハッシュコードの実装が言っていることです –