【发布时间】:2015-01-11 07:56:22
【问题描述】:
我有两个班级:Animal 和 Shelter。
我有一个toString 方法,它应该打印出收容所的名称以及来自动物的所有信息,所有这些信息都是通过扫描仪类的用户输入收集的。但是,当我在 Shelter 类中创建 Animal 的实例时,该实例中显然还没有任何值。
问题:如何将通过用户输入收集的值指向庇护类,以便它可以使用toString()方法打印出shelterName?
用户输入:
public class AnimalShelter {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("What is your animal's name?");
String animalName = scan.nextLine();
System.out.println("What is your animal's type?");
String type = scan.nextLine();
System.out.println("What is your animal's age?");
int age = scan.nextInt();
scan.nextLine();
System.out.println("What is the name of your animal shelter?");
String shelterName = scan.nextLine();
Shelter myShelter = new Shelter(shelterName);
System.out.println(shelterName.toString());
}
}
动物类:
public class Animal {
private String animalName;
private String type;
private int age;
public Animal(String animalName, String type, int age)
{
this.animalName = animalName;
this.type = type;
this.age = age;
}
public String getAnimalName()
{
return animalName;
}
public String getType()
{
return type;
}
public int getAge()
{
return age;
}
}
Shelter 类:如何将用户输入的值指向myAnimal 对象?
public class Shelter {
Animal myAnimal = new Animal();
private String shelterName;
public Shelter(String shelterName)
{
this.shelterName = shelterName;
}
public String toString(Animal myAnimal)
{
myAnimal.getAnimalName();
myAnimal.getType();
myAnimal.getAge();
return "" + shelterName + myAnimal.getAnimalName() + myAnimal.getType() + myAnimal.getAge();
}
}
【问题讨论】:
标签: java string class pointers return