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());
}
}
}
}
这个例子是看过视频后写出来的,是我目前来说写得最长的一个了,大部分是自己写的,少部分是看了代码的。
写是写出来了,但感觉自己还不是很懂的样子,里面好的运用都不是很明白。看来基础还不是很扎实啊。准备先过一下,等以后看第二次的进修再来详细了解下
分享到:
相关推荐
关于 registerForActivityResult()的使用方法----使用跳转实例。 关于 registerForActivityResult()的使用方法----使用跳转实例。 关于 registerForActivityResult()的使用方法----使用跳转实例。 关于 ...
[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-常用图标-实例 ...
课程作业基于mask-rcnn进行实例分割的面向对象编程python源码.zip课程作业基于mask-rcnn进行实例分割的面向对象编程python源码.zip课程作业基于mask-rcnn进行实例分割的面向对象编程python源码.zip课程作业基于mask-...
aladdin股市量化分析论坛软件11.06版源代码-----中远海控-----实例版 aladdin股市量化分析论坛软件11.06版源代码-----中远海控-----实例版
javascript实例应用---连接数据库实例.rarjavascript实例应用---连接数据库实例.rarjavascript实例应用---连接数据库实例.rarjavascript实例应用---连接数据库实例.rar
SPSS概览--数据分析实例详解 描述性统计分析-- Descriptive Statistics菜单详解
《Visual C++程序设计——基础与实例分析》涵盖了C++编程语言在Microsoft Visual Studio环境下的应用,这是一门深入浅出地讲解C++编程技术的课程。Visual C++是Microsoft公司开发的一款强大的可视化编程工具,它结合...
实例程序VC6.0 -----------DAO实例程序
Python 实例 - 桌面宠物 Python源码Python 实例 - 桌面宠物 Python源码Python 实例 - 桌面宠物 Python源码Python 实例 - 桌面宠物 Python源码Python 实例 - 桌面宠物 Python源码Python 实例 - 桌面宠物 Python源码...
CANopen是一种基于CAN(Controller Area Network)总线的高层...通过上述的实例分析,我们可以获得CANopen PDO和SDO应用的全面认识,并且可以根据这些知识来协助进行编程,从而在实际的项目中实现设备之间的有效通讯。
【大纲】0-1-课程内容和安排介绍1-1-计算机的概念1...函数与递归-1-函数定义第6章-函数与递归-2-函数的调用和返回值第6章-函数与递归-3-改变参数值的函数第6章-函数与递归-4-程序结构和递归第6章-函数与递归-5-函数实例
博客文章链接---------实例代码工程 博客:facebook Fresco框架库源使用基础 博客文章链接---------实例代码工程 博客:浅谈MVP实现Android应用层开发 博客文章链接---------实例代码工程 博客:EventBus使用之基础 ...
本文结合综科智控品牌的io模块详细讲解西门子PLC s7-1200 1500 modbus-tcp通信实例编程,见附件下载:
3. 图像分析:提供形状匹配、模板匹配、条码读取、OCR(光学字符识别)、颜色检测等工具,帮助用户解决复杂问题。 二、工具详解 1. 形状匹配:通过比较目标图像与数据库中的标准形状,确定物体的位置和旋转角度,...
【uni-app登录实例的实现】 在移动应用开发领域,uni-app是一个备受青睐的跨平台框架,它允许开发者用一套代码实现多端部署,包括iOS、Android、Web等。本实例将详细讲解如何使用HBuilderX工具来开发一个uni-app...
Linux窗口程序设计-Qt4精彩实例分析 part01
### 未将对象引用设置到对象的实例--可能出现的问题总结 在进行软件开发尤其是Web应用程序开发过程中,经常会遇到“未将对象引用设置到对象的实例”这类异常,这种异常通常表现为`System.NullReferenceException`。...
MATLAB图像处理实例分析-MATLAB图像处理实例分析.part1.rar MATLAB图像处理实例分析