interface Pet{ public String getName() ; public String getColor() ; public int getAge() ; } class Cat implements Pet{ private String name ; private String color ; private int age ; public Cat(String name,String color,int age){ this.setName(name) ; this.setColor(color) ; this.setAge(age) ; } public void setName(String name){ this.name = name ; } public void setColor(String color){ this.color = color; } public void setAge(int age){ this.age = age ; } public String getName(){ return this.name ; } public String getColor(){ return this.color ; } public int getAge(){ return this.age ; } }; class Dog implements Pet{ private String name ; private String color ; private int age ; public Dog(String name,String color,int age){ this.setName(name) ; this.setColor(color) ; this.setAge(age) ; } public void setName(String name){ this.name = name ; } public void setColor(String color){ this.color = color; } public void setAge(int age){ this.age = age ; } public String getName(){ return this.name ; } public String getColor(){ return this.color ; } public int getAge(){ return this.age ; } }; class PetShop{ private Pet[] pets ; private int foot ; public PetShop(int len){ if(len>0){ this.pets = new Pet[len] ; }else{ this.pets = new Pet[1] ; } } public boolean add(Pet pet){ if(this.foot<this.pets.length){ this.pets[this.foot] = pet ; this.foot ++ ; return true ; }else{ return false ; } } public Pet[] search(String keyWord){ Pet p[] = null ; int count = 0 ; for(int i=0;i<this.pets.length;i++){ if(this.pets[i]!=null){ if(this.pets[i].getName().indexOf(keyWord)!=-1 ||this.pets[i].getColor().indexOf(keyWord)!=-1){ count++ ; } } } p = new Pet[count] ; int f = 0 ; for(int i=0;i<this.pets.length;i++){ if(this.pets[i]!=null){ if(this.pets[i].getName().indexOf(keyWord)!=-1 ||this.pets[i].getColor().indexOf(keyWord)!=-1){ p[f] = this.pets[i] ; f++ ; } } } return p ; } }; public class HomeworkDemo{ public static void main(String args[]){ PetShop ps = new PetShop(5) ; ps.add(new Cat("英短","灰色的",5)); ps.add(new Cat("布偶猫","白色的",2)); ps.add(new Cat("花猫","花色的",6)); ps.add(new Dog("哈士奇犬","黑白色的",2)); ps.add(new Dog("金毛犬","金色的",1)); print(ps.search("犬")); } public static void print(Pet p[]){ for(int i=0;i<p.length;i++){ if(p[i]!=null){ System.out.println(p[i].getName()+","+p[i].getColor()+","+p[i].getAge()); } } } };
时间: 2024-11-10 14:40:12