Tôi có một nhiệm vụ cần được thực hiện nhưng tôi thực sự bị kẹt.Tạo đối tượng Theo một tệp đầu vào
Về cơ bản, tôi đã một số quan hệ thừa kế như thế này:
Animal
Pet WildAnimal
Bird Dog Cat Fish || rắn Eagle
Animal là phụ huynh của thú nuôi và hoang dã Thú vật. Thú cưng là cha mẹ của Chim, Mèo, Chó, Cá. WildAnimal là cha mẹ của Snake và Eagle.
Tác vụ muốn tôi đọc đầu vào từ tệp là "input.txt" và tạo đối tượng Động vật.
"INPUT.TXT" giống như:
kiwi Bird charlie Eagle xoài cá tiêu Dog góc Cát tweety Bird bob Chó Ziggy rắn
tôi có thể nhận được tất cả những cái tên nhưng tôi không thể tìm ra cách để hiểu loại đối tượng nào mà mỗi cái tên đại diện.
Đây là phương pháp chính:
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();
}
}
Đây là lớp động vật:
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());
}
}
tôi có thể thêm tất cả các lớp khác nếu bạn muốn nhưng tôi không nghĩ rằng bạn sẽ cần chúng.
[This] (http://stackoverflow.com/questions/1268817/create-new-class-from-a-variable-in-java) có thể giúp bạn. – Blobonat
Cảm ơn bạn đã chấp nhận nhanh chóng! – GhostCat