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.name = name;
this.color = color;
this.age = age;
}
public void setName(String name)
{
this.name = name;
}
public void setColor(String color)
{
this.color = color;
}
public void setAge(int age)
{
this.age = age;
}
public String getName()
{
return this.name;
}
public String getColor()
{
return this.color;
}
public int getAge()
{
return this.age;
}
}
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 void setName(String name)
{
this.name = name;
}
public void setColor(String color)
{
this.color = color;
}
public void setAge(int age)
{
this.age = age;
}
public String getName()
{
return this.name;
}
public String getColor()
{
return this.color;
}
public int getAge()
{
return this.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 = 1;i <this.pets.length ;i++ )//将查询的结果存入p
{
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("白猫","白色的",3));
ps.add(new Cat("黑猫","黑色的",3));
ps.add(new Cat("花猫","花色的",3));
ps.add(new Dog("白狗","白色的",3));
ps.add(new Cat("黑狗","黑色的",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());
}
}
}
}
这个例子是看过视频后写出来的,是我目前来说写得最长的一个了,大部分是自己写的,少部分是看了代码的。
写是写出来了,但感觉自己还不是很懂的样子,里面好的运用都不是很明白。看来基础还不是很扎实啊。准备先过一下,等以后看第二次的进修再来详细了解下
分享到:
相关推荐
[VC-MFC编程实例].01 [VC-MFC编程实例].02 [VC-MFC编程实例].03 [VC-MFC编程实例].04 [VC-MFC编程实例].05 [VC-MFC编程实例].06 [VC-MFC编程实例].07 [VC-MFC编程实例].08 [VC-MFC编程实例].09 [VC-MFC编程实例].10 ...
S7-200应用实例,电子书pdf,中文。S7-200应用实例,电子书pdf,中文。S7-200应用实例,电子书pdf,中文。S7-200应用实例,电子书pdf,中文。S7-200应用实例,电子书pdf,中文。S7-200应用实例,电子书pdf,中文。
axure-常用图标-实例 axure-常用图标-实例 axure-常用图标-实例 axure-常用图标-实例 axure-常用图标-实例 axure-常用图标-实例 axure-常用图标-实例 axure-常用图标-实例 axure-常用图标-实例 axure-常用图标-实例 ...
基于java的开发源码-EJB编程实例代码.zip 基于java的开发源码-EJB编程实例代码.zip 基于java的开发源码-EJB编程实例代码.zip 基于java的开发源码-EJB编程实例代码.zip 基于java的开发源码-EJB编程实例代码.zip 基于...
A4韩国心天泻血疗法--应用实例.doc
javascript实例应用---连接数据库实例.rarjavascript实例应用---连接数据库实例.rarjavascript实例应用---连接数据库实例.rarjavascript实例应用---连接数据库实例.rar
SPSS概览--数据分析实例详解 描述性统计分析-- Descriptive Statistics菜单详解
《Visual C++程序设计——基础与实例分析》涵盖了C++编程语言在Microsoft Visual Studio环境下的应用,这是一门深入浅出地讲解C++编程技术的课程。Visual C++是Microsoft公司开发的一款强大的可视化编程工具,它结合...
实例程序VC6.0 -----------DAO实例程序
CorelDraw12教程-入门与实例\CorelDraw12教程-入门与实例 .rar
博客文章链接---------实例代码工程 博客:facebook Fresco框架库源使用基础 博客文章链接---------实例代码工程 博客:浅谈MVP实现Android应用层开发 博客文章链接---------实例代码工程 博客:EventBus使用之基础 ...
本文结合综科智控品牌的io模块详细讲解西门子PLC s7-1200 1500 modbus-tcp通信实例编程,见附件下载:
S7-200与S7-300通信实例及步骤.zip西门子PLC编程实例程序源码下载S7-200与S7-300通信实例及步骤.zip西门子PLC编程实例程序源码下载S7-200与S7-300通信实例及步骤.zip西门子PLC编程实例程序源码下载S7-200与S7-300...
- `cocos2d-x飞行游戏实例代码flyshoot.rar` 和 `cocos2d-x游戏实例-纵版射击游戏flyshoot.rar` 是两种不同的飞行射击游戏源码。这类游戏通常涉及飞机或飞船的控制,玩家需要躲避障碍物并攻击敌人。源码中可能包括...
【uni-app登录实例的实现】 在移动应用开发领域,uni-app是一个备受青睐的跨平台框架,它允许开发者用一套代码实现多端部署,包括iOS、Android、Web等。本实例将详细讲解如何使用HBuilderX工具来开发一个uni-app...
3. 学习实例:分析提供的S7-200程序实例,理解其工作逻辑和编程思路。 4. 实际项目:逐步尝试解决实际工程问题,提升实践经验。 四、S7-200的优势 1. 易于上手:S7-200的编程工具Step 7 Micro/WIN简洁直观,适合...
### 未将对象引用设置到对象的实例--可能出现的问题总结 在进行软件开发尤其是Web应用程序开发过程中,经常会遇到“未将对象引用设置到对象的实例”这类异常,这种异常通常表现为`System.NullReferenceException`。...
vs2008--vb编程实例
-移动银行实例 J2ME手机游戏开发