Pet.java
interface Pet
{
public String getName();
public String
getColor();
public int getAge();
public float getPrice();
}
Cat.java
class Cat implements Pet
{
private String name;
private
String color;
private int age;
private float price;
public
Cat(String name,String color,int age,float price){
this.name =
name;
this.color = color;
this.age = age;
this.price =
price;
}
public void setName(String
name){
this.name=name;
}
public void setColor(String
name){
this.color=color;
}
public void setAge(int
age){
this.age=age;
}
public void setPrice(float
price){
this.price=price;
}
public String getName(){
return this.name;
}
public
String getColor(){
return this.color;
}
public int
getAge(){
return this.age;
}
public float
getPrice(){
return this.price;
}
}
Dog.java
class Dog implements Pet
{
private String name;
private
String color;
private int age;
private float price;
public
Dog(String name,String color,int age,float price){
this.name =
name;
this.color = color;
this.age = age;
this.price =
price;
}
public void setName(String
name){
this.name=name;
}
public void setColor(String
name){
this.color=color;
}
public void setAge(int
age){
this.age=age;
}
public void setPrice(float
price){
this.price=price;
}
public String
getName(){
return this.name;
}
public String
getColor(){
return this.color;
}
public int
getAge(){
return this.age;
}
public float
getPrice(){
return this.price;
}
}
PetShop.java
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[l];
}
}
public boolean add(Pet pet){
if(foot <
this.pets.length){
this.pets[foot] = pet;
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;
}
}
TestPetShop.java
public class PetShopDemo
{
public static void main(String[]
args)
{
PetShop ps = new PetShop(8);
ps.add(new
Cat("白猫","黑色",1,23.5f));
ps.add(new
Cat("黑猫","黑色",2,23.5f));
ps.add(new
Cat("白猫","黑色",3,23.5f));
ps.add(new
Dog("白狗","黑色",1,23.5f));
ps.add(new
Dog("黑狗","黑色",2,23.5f));
ps.add(new
Dog("白狗","黑色",3,23.5f));
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()+",
"+p[i].getPrice());
}
}
}
}
原文:http://www.cnblogs.com/raywwen/p/3550233.html