我有一个类Passengers,它具有成员属性String nameint healthString disease,带有setter和getter方法。 disease变量最初将保留null。这是那个课

public class Passengers
{
    private String name;
    private int health;
    private String disease;

    public Passengers(String _name, int _health, String _disease)
    {
        name = _name;
        health = _health;
        disease = _disease;
    }

    public void setHealth(int _health)
    {
        health = _health;
    }
    public void setDisease(String _disease)
    {
        disease = _disease;
    }

    public String getName()
    {
        return name;
    }
    public int getHealth()
    {
        return health;
    }
    public String getDisease()
    {
        return disease;
    }
}


我想知道的是如何将新的字符串添加到此变量,然后如何删除。例如,一名乘客Bill因其疾病从null开始,然后染上了疟疾和感冒。 Bill的disease变量现在应包含malaria, cold。现在说用户选择治疗比尔的疟疾。我怎么会
1)加疟疾和感冒
2)从disease中仅减去疟疾?

每当我尝试改变疾病

passengers[index].setDisease() = null;


它说:“错误:类Passengers中的方法setDisease无法应用于给定类型:
必需:字符串
找到:没有参数”

最佳答案

您应该给该类一个List<String>,例如一个ArrayList<String>,并将疾病列入此列表。

更妙的是,创建疾病的类或枚举,并让您的乘客类使用List<Disease>并避免过度使用String。然后,您可以为该类提供公共的addDisease(Disease disease)removeDisease(Disease disease)方法。

顺便提一句,您的上述班级应命名为“旅客”(单数),而不是“旅客”(复数),因为它代表了一个旅客的概念。

10-06 09:56