私はタスクを実行する必要がありますが、私は本当に立ち往生しています。入力ファイルに応じたオブジェクトの作成
基本的に、私はこのようないくつかの継承関係ました:
動物
ペットWildAnimal
鳥猫犬魚||スネークイーグル
動物はペットとワイルドの親であるが動物。 ペットは鳥、猫、犬、魚の親です。 WildAnimalはSnakeとEagleの親です。
このタスクでは、「input.txt」というファイルから入力を読み込み、Animalオブジェクトを作成したいと考えています。 「INPUT.TXT」
は次のようである:
キウイ鳥 チャーリー・イーグル マンゴー魚 唐辛子犬 角度猫 トゥイーティー鳥 ボブ犬 ジギースネーク
私は名前のすべてを取得することができますしかし私はどのような種類のオブジェクトが単一の名前を表しているかを理解する方法を理解できませんでした。ここで
はmainメソッドです:ここでは
public static void main(String[] args) throws IOException {
String s ="";
int nameCounter = 0;
Animal[] animals = new Animal[100];
try{
Scanner input = new Scanner(Paths.get("input.txt"));
while (input.hasNext()) {
s = input.next();
Animal animal = new Animal(s);
animals[nameCounter] = animal;
nameCounter += 2;
}
}catch(Exception e){
e.printStackTrace();
}
}
は、動物のクラスである:
public class Animal {
private String name;
private int numberOfLegs;
private int numberOfWings;
public Animal(String name){
this.name = name;
numberOfLegs = 4;
numberOfWings = 0;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getNumberOfLegs() {
return numberOfLegs;
}
public void setNumberOfLegs(int numberOfLegs) {
this.numberOfLegs = numberOfLegs;
}
public int getNumberOfWings() {
return numberOfWings;
}
public void setNumberOfWings(int numberOfWings) {
this.numberOfWings = numberOfWings;
}
public void talk(){
System.out.printf("<Silence>");
}
public void fly(){
System.out.printf("%s cannot fly", getName());
}
public void run(){
System.out.printf("%s is running", getName());
}
}
したいが、私がいない場合、私は他のすべてのクラスを追加することができますあなたがそれらを必要とすると思います。
[This(http://stackoverflow.com/questions/1268817/create-new-class-from-a-variable-in-java)があなたに役立つ可能性があります。 – Blobonat
すぐに受け入れてくれてありがとう! – GhostCat