实现 Zoo 类(及其测试类)。动物园有名称和面积(以平方米为单位)。动物园可以有一只或多只动物。动物有 ID、名称、类型、年龄、性别。我们应该能够向动物园添加新动物、删除动物并确定动物园中当前有多少动物。
这是 Zoo 类:
import java.util.ArrayList;
public class Zoo {
String name;
String area;
ArrayList<Animal> animals;
static int id;
public Zoo(String name, String area) {
this.name = name;
this.area = area;
}
public void addanimal(animal ann) {
animals.add(id, ann);
id++;
}
}
public class Animal {
String name;
String type;
String age;
String gender;
public Animal(String name, String type, String age, String gender) {
this.name = name;
this.type = type;
this.age = age;
this.gender = gender;
}
}
public class Test {
public static void main(String[] args) {
Zoo nozha = new Zoo("nozha", "100");
Animal lion = new Animal("lion", "male", "20", "fine");
nozha.addanimal(lion);
Znimal tiger = new Animal("tiger", "male", "30", "ssc");
nozha.addanimal(tiger);
System.out.print(Zoo.id);
}
}
首先,我需要函数(addanimal)的帮助,因为当我打印(zoo.id)时它不起作用,我不知道如何删除动物,请帮助我,我是编程初学者,这是我第一次使用ArrayList 和我以前从未问过
最佳答案
您需要初始化animals
变量为除默认值之外的其他值,即 null
:
private List<Animal> animals = new ArrayList<Animal>();
然后看javadoc的java.util.List
,您将看到它包含添加和删除元素的方法,以及返回其大小的方法,因此完全不需要 id 变量。
另外,请注意 javadoc 中所有类如何以大写字母开头,所有方法均以驼峰式拼写(如 addAnimal()
而不是 addanimal()
)。尊重这些约定:它们对于代码的可读性来说是一个非常重要的因素。
此外,为您的变量选择适当的类型。以平方米为单位的面积应该是 int 或 float 或 double,但不是 String。
关于java - 如何使用数组列表? [哎呀],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12493548/