1、
项目的大致框架截图为:
代码如下:
package li.a.yun.inter; public interface Pet { public String getName(); public String getColor(); public int getAge(); }
package li.a.yun.entity; import li.a.yun.inter.Pet; public class Cat implements Pet { private String name; private String color; private int age; public Cat(String name, String color, int age) { this.name = name; this.color = color; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getColor() { return color; } public void setColor(String color) { this.color = color; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
package li.a.yun.entity; import li.a.yun.inter.Pet; public class Dog implements Pet { private String name; private String color; private int age; public Dog(String name, String color, int age) { this.name = name; this.color = color; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getColor() { return color; } public void setColor(String color) { this.color = color; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
package li.a.yun.util; import li.a.yun.inter.Pet; public class PetShop { private Pet[] pets; private int foot = 0; public PetShop(int len) { if(len <= 0) throw new RuntimeException("宠物商店必须至少存在一种宠物"); this.pets = new Pet[len]; } public boolean add(Pet p) { boolean isAdd = false; if(foot != pets.length) { pets[foot] = p; foot++; isAdd = true; } else { throw new RuntimeException("宠物商店已满,不能继续添加宠物了"); } return isAdd; } /* * 根据宠物的关键字查找到相应的宠物信息 */ public Pet[] search(String key) { 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(key) != -1 || this.pets[i].getColor().indexOf(key) != -1) count++; } } p = new Pet[count]; for(int i = 0, f = 0; i < this.pets.length; i++) { if(this.pets[i] != null) { if(this.pets[i].getName().indexOf(key) != -1 || this.pets[i].getColor().indexOf(key) != -1) { p[f] = this.pets[i]; f++; } } } return p; } }
package li.a.yun.test; import li.a.yun.entity.Cat; import li.a.yun.entity.Dog; import li.a.yun.inter.Pet; import li.a.yun.util.PetShop; public class Test { public static void main(String[] args) { PetShop ps = new PetShop(5); ps.add(new Cat("白猫", "黑色的", 2)); ps.add(new Cat("黑猫", "黑色的", 3)); ps.add(new Cat("花猫", "花色的", 3)); ps.add(new Dog("拉布拉多", "黄色的", 3)); ps.add(new Dog("金毛", "金色的", 2)); //System.out.println(ps.add(new Dog("黄狗", "黑色的", 2))); print(ps.search("黑")); } private static void print(Pet[] pets) { for(int i = 0; i < pets.length; i++) { if(pets[i] != null) { System.out.println(pets[i].getName()+","+pets[i].getColor()+","+pets[i].getAge()); } } } }
时间: 2024-10-13 02:11:04