Java 使用子字符串创建动物对象
我关注的是方法Java 使用子字符串创建动物对象,java,Java,我关注的是方法readDataFromFile(),它可以读取文本分隔的数据,例如: Bird Golden Eagle Eddie Mammal Tiger Tommy Mammal Lion Leo Bird Parrot Polly Reptile Cobra Colin 目前,我已将每个单词分开,例如:爬行动物、眼镜蛇。科林使用扫描仪方法 我唯一需要做的就是创建一个动物对象,并用这些子字符串将其添加到zoo中 动物包括:一个名称和一个物种 任何
readDataFromFile()
,它可以读取文本分隔的数据,例如:
Bird Golden Eagle Eddie
Mammal Tiger Tommy
Mammal Lion Leo
Bird Parrot Polly
Reptile Cobra Colin
目前,我已将每个单词分开,例如:爬行动物、眼镜蛇。科林
使用扫描仪方法
- 我唯一需要做的就是创建一个动物对象,并用这些子字符串将其添加到zoo中李>
动物
包括:一个名称
和一个物种
任何指导我如何实现这一目标的帮助或建议都将是惊人的
MyZoo课程:
找到名称和物种后,使用
Animal
的构造函数创建实例,然后将其添加到动物园:
while(scanner.hasNextLine()){
String type = scanner.next();
String species = scanner.next();
String name = scanner.next();
System.out.println(species + ": " + name);
scanner.nextLine();
Animal a = new Animal(species, name, this); // 'this' bevcause its requires a MyZoo
this.addAnimal(a);
// can inline : addAnimal(new Animal(species, name, this));
}
看起来您已经在这里完成了大部分代码。。?你到底在挣扎什么。您已经在使用Scanner()提取物种和名称,只需创建一个动物对象列表并将ID发送给您的动物园您的问题是什么?都在那里?!我想我的问题是,如何在不创建动物对象的情况下将这些子字符串添加到Zoo树映射中?您可以将
treemap
更改为treemap
。键可以是动物名称,值可以是动物种类。这消除了对动物类的需要。是否可以在不创建动物对象的情况下将子字符串添加到动物园中?@melisastewart您的动物园是一个动物容器,那么如何在不创建动物的情况下添加子字符串呢?如果你不创造动物,树形图和动物类就没用了,结果是一个糟糕的模型。我不确定为什么创造动物对象会对我的教授不利,只是问他,他说他不想让我这么做。有什么理由不创造一个动物对象会更好吗?@MelissaStewart没有任何理由不创造一个拥有完整和逻辑模型的动物。这意味着类动物可以进入bin,还有你的TreeMap^^^你知道我如何删除子字符串吗?例如,文本文件的第一行是:“Bird Golden Eagle Eddie”,它是4个子字符串,但是如何删除“Bird”,使“Golden”成为读取的第一个子字符串?
public class Animal
{
private String id;
private String species;
private String name;
public Animal(String species, String name, MyZoo owner)
{
id = owner.allocateId();
this.species = species;
this.name = name;
}
public String getId()
{
return id;
}
public String getName()
{
return name;
}
public String getSpecies()
{
return species;
}
public String toString()
{
return id + " " + name + ": a " + species;
}
}
while(scanner.hasNextLine()){
String type = scanner.next();
String species = scanner.next();
String name = scanner.next();
System.out.println(species + ": " + name);
scanner.nextLine();
Animal a = new Animal(species, name, this); // 'this' bevcause its requires a MyZoo
this.addAnimal(a);
// can inline : addAnimal(new Animal(species, name, this));
}