-2
我在BlueJ,SuperHero和SuperWeapon中有兩個類。我需要創建一種在Arraylist中添加超級武器的方法。該方法應該使用SuperWeapon類型的參數來調用。如何檢查數組列表中是否已經存在字符串值?
這意味着該方法假定超武器對象存在。該方法因此不應該實例化新的超級武器對象。
並且只有具有唯一名稱的武器可以被添加到列表中,因此需要對新的SuperWeaponobject進行控制。
下面的代碼是我目前所擁有的,據我所知,現在的代碼並不檢查超級武器的名稱是否是唯一的。對不起,如果代碼有點奇怪,我從瑞典語翻譯它爲英語,但我希望有人瞭解我需要什麼。
代碼:
import java.util.ArrayList;
public class SuperHero
{
private ArrayList<SuperWeapon> superWeaponList;
private String superHeroName;
public SuperHero()
{
superHeroName = "Superman";
superWeaponList = new ArrayList<SuperWeapon>();
}
public void addSuperWeapon(SuperWeapon superWeapon)
{
if(superWeaponList.contains(superWeapon))
{
System.out.println("The Superhero already has a superweapon with the name: " + superWeapon.getName() + ".");
}
else
{
superWeaponList.add(superWeapon);
System.out.println("A new superweapon has been registred for the superhero");
}
}
}
您沒有字符串列表作爲您的標題暗示。你必須在你的''SuperWeapon''類中實現''equals''來使''contains''工作。 – f1sh