두 클래스가 있습니다 : 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;
}
}
보호소 클래스 : 는 어떻게에 사용자 입력의 값을 가리 킵니다 않는다 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();
}
}