在类中搜索对象

时间:2017-12-11 22:13:06

标签: java class

我正在学校制作一个垄断的程序,我将所有自己的属性设置为属性类中的对象,我希望能够通过它们的位置值搜索属性。因此,如果玩家的位置是3(在我的代码中是波罗的海大道),我希望能够搜索位置为3的所有自有房产,然后让玩家购买/支付房产租金。这是可能的,还是我应该从另一个角度解决问题?

public class property 
{
String owner;
int position;
int price;
int rent;

public property(int startPrice, int startPosition, int startRent)
{
    price = startPrice;
    position = startPosition;
    owner = "none";
    rent = startRent;
}

public void setOwn(String newOwn)
{
    owner = newOwn;
}
public void changePrice(int newprice)
{
    price = newprice;
}
public void changeRent(int newRent)
{
    rent = newRent;
}

public int getprice()
{
    return price;
}
public int getpos()
{
    return position;
}
public String getown()
{
    return owner;
}
public int getrent()
{
    return rent;
}
}

1 个答案:

答案 0 :(得分:0)

首先,我有一些数据结构来跟踪可以购买的属性。 HashSet是最好的,因为顺序无关紧要,您可以快速添加和删除元素。将其设置为包含可以购买的属性。然后我会制作这个方法:(不要把它放在你的Property类中)

private static Property getPropertyAtPos(Player player, HashSet buyableProperties)     {
    for(Property p : buyableProperties) {
        if(p.position == player.position) {
            return p;
        }
    }
    return null;
}

调用此方法获取该玩家可以购买的属性。希望这会有所帮助。