Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用子字符串创建动物对象_Java - Fatal编程技术网

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));
}