我應該寫一個Cruiser類實現Locatable接口。巡洋艦將有x,y和速度屬性。 x,y和速度是整數。您必須爲Cruiser級提供3個構造函數。 Class Cruiser必須實現Locatable接口。Ap計算機科學Java接口和比較方法困境
一個構造函數必須是默認值。一個構造函數必須是僅包含x和y的構造函數。一個構造函數必須是x,y和速度構造函數。你必須提供一個equals方法。 equals()方法應該比較兩個巡洋艦對象的屬性。你必須提供一個toString()方法。 toString()應該返回巡洋艦的x,y和速度。
當我編譯這個它說「級巡洋艦是公共的,應在Cruiser.java聲明」
當我這樣做我的IDE說「;」正如預期的公共布爾等於後。但這並沒有意義,爲什麼你需要在方法中使用分號。
這是我迄今爲止
public interface Locatable
{
public int getxPos();
public int getyPos();
}
public class Cruiser implements Locatable
{
private int xPos, yPos, speed;
public Cruiser()
{
xPos=yPos=speed=0;
}
public Cruiser(int x,int y)
{
xPos=x;
yPos=y;
speed=0;
}
public Cruiser(int x, int y, int spd)
{
xPos=x;
yPos=y;
speed=spd;
}
public int getxPos()
{
return xPos;
}
public int getyPos()
{
return yPos;
}
public int getSpeed()
{
return speed;
}
public void compare(Cruiser A, Cruiser B)
{
@Override
public boolean equals(Object obj)
{
if (obj instanceof Cruiser) {
Cruiser cruiserToCompareTo = (Cruiser)obj;
if(xPos == cruiserToCompareTo.getXpos() &&
yPos == cruiserToCompareTo.getYpos() &&
speed == cruiserToCompareTo.getSpeed())
return true;
}
return false;
}
public String toString()
{
String properties = "X position:"+ xPos+ ", Y position:"+yPos+ ",Speed:"+speed;
return properties;
}
}
}
你能花些時間來正確對齊你的代碼嗎?這使我們更容易閱讀。在像Eclipse或Netbeans這樣的IDE中,您只需點擊幾下即可完成此操作。 –