標籤:個數 ati name getc null void nts ace arch
設計一個“”寵物商店“”,在寵物商店中可以有多種(由使用者決定數量)寵物,試表示出此種關係,並要求可以根據寵物的關鍵字尋找到相應的寵物資訊。所需要的寵物資訊自行設計。具體分析如下:
(1)寵物資訊可以自行設計,所以可以簡單設計出名字、顏色、年齡3個屬性;
(2)寵物的類別很多,如貓、狗等都屬於寵物,所以寵物應該是一個1標準。
(3)在寵物商店中,只要是符合了次寵物標準的就都應該可以放進寵物商店之中。
(4)寵物商店中要儲存多種寵物,則肯定應該是一個寵物的對象數組,如果寵物的個數由使用者決定,則應在建立寵物商店時,就分配好所能儲存的寵物個數。
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 String getName() { return this.name; } public void setName(String name) { this.name = name; } public String getColor() { return this.color; } public void setColor(String color) { this.color = color; } public int getAge() { return this.age; } public void setAge(int age) { this.age = 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 String getName() { return this.name; } public void setName(String name) { this.name = name; } public String getColor() { return this.color; } public void setColor(String color) { this.color = color; } public int getAge() { return this.age; } public void setAge(int age) { this.age = 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 PetShopDemo { 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("金毛","金色的",3)); ps.add(new Dog("黃狗","黑 色的",3)); 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()); } } }}
Java第七次作業