package aaaa; 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 String getName() { return name; } public void setColor(String color) { this.color=color; } public String getColor() { return color; } public void setAge(int age) { this.age=age; } public int getAge() { return 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 习题 { public static void main (String args[]) { PetShop ps=new PetShop(3); ps.add(new Cat("蓝猫","灰色",2)); ps.add(new Cat("橘猫","橘黄色",1)); ps.add(new Cat("奶牛猫","熊猫色",2)); print(ps.search("灰")); } public static void print (Pet p[]) { for(int i=0;i<p.length;i++) { try { System.out.println(p[i].getName()+", "+p[i].getColor()+", "+p[i].getAge()); }catch(Exception e) { System.out.println(e); } } } }