我有一个类Passengers
,它具有成员属性String name
,int health
和String 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)
方法。
顺便提一句,您的上述班级应命名为“旅客”(单数),而不是“旅客”(复数),因为它代表了一个旅客的概念。