代码分析

Cat.java

 package com.ftl.petshop;

 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;
} }

Dog.java

 package com.ftl.petshop;

 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;
} }

Pet.java

 package com.ftl.petshop;

 interface Pet
{
public String getName();
public String getColor();
public int getAge();
}

PetShop.java

 package com.ftl.petshop;

 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[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++;
}
}
}
System.out.println("Sum " + count + "is Right...");
p = new Pet[count];
int f = 0;
for (int i = 0; i < this.pets.length;i++)
{
if(this.pets[i].getName().indexOf(keyWord)!=-1
&& this.pets[i].getColor().indexOf(keyWord)!=-1)
{
p[f] = this.pets[i];
f++;
}
} return p;
} };

PetShopDemo.java

 package com.ftl.petshop;

 public class PetShopDemo
{ public static void main(String[] args)
{
// TODO 自动生成的方法存根
PetShop ps = new PetShop(6);
ps.add(new Cat("W","W",2));
ps.add(new Dog("W","W",2));
ps.add(new Cat("B","B",2));
ps.add(new Cat("B","W",2));
ps.add(new Dog("W","BB",2));
ps.add(new Cat("WW","W",2));
ps.add(new Dog("AW","W",2));
print(ps.search("W"));
}
public static void print(Pet p[])
{
for (int i = 0; i < p.length; i++)
{
if(p[i]!=null)
{
System.out.println("Age "+ p[i].getAge() +" Name:"+ p[i].getColor() +" Color:" + p[i].getName());
}
}
} }

源码下载

点击下载

最新文章

  1. 一个可随意定位置的带色Toast——开源代码Crouton的简单使用
  2. android:clipChildren属性的作用
  3. Hadoop的核心组件和生态圈
  4. RabbitMQ入门教程——工作队列
  5. java获取当前月第一天和最后一天,上个月第一天和最后一天
  6. HTML5入门十---Canvas画布实现画图(一)
  7. Character Studio
  8. iOS蓝牙4.0开发例子
  9. Objective-c 集合对象
  10. JavaScript 堆
  11. JAVA面试中问及HIBERNATE与 MYBATIS的对比,在这里做一下总结(转)
  12. viewDidLoad、viewDidUnload、viewWillAppear、viewDidAppear、viewWillDisappear 和 -viewDidDisappear的区别和使用
  13. el表达式 分页提交 中文乱码
  14. HTML5学习笔记三:aside元素,time元素与微格式
  15. eclipse properties 插件
  16. ASP.NET实现网页版小优盘
  17. gzip解压文件报错
  18. java_自定义标签,我的第一个自定义标签!
  19. JDBC-HikariCP
  20. Java知多少(5) Java开发环境的搭建

热门文章

  1. Android对敏感数据进行MD5加密(基础回顾)
  2. [中英对照]How PCI Works | PCI工作原理
  3. 十分钟理解Actor模式
  4. CUBA Platform —— 开源的、可靠的企业级应用开发利器
  5. 说一说HTTP
  6. XMPP之openfire无法启动
  7. Node.js模块封装及使用
  8. Java学习--扑克牌比大小的小游戏
  9. idea搭建Spring Boot+Mybatis及使用教程
  10. WCF 4.0 如何编程修改wcf配置,不使用web.config静态配置