代码分析

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

源码下载

点击下载

Java实例---简单的宠物管理系统的更多相关文章

  1. Java实例---简单的上课管理系统

    源码分析 Course.java package com.ftl.many2many; import java.util.*; public class Course { private int cr ...

  2. Java实例---简单的超市管理系统

    代码分析 Customer.java package test; public class Customer { private String name; private int customerTy ...

  3. Java实例---简单的个人管理系统

    代码分析 FileOperate.java package com.ftl.testperson; import java.io.File ; import java.io.FileInputStre ...

  4. Java实例分析:宠物商店

    设计一个“宠物商店”,在宠物商店中可以有多种宠物,试表示出此种关系,并要求可以根据宠物的关键字查找相应的宠物信息. //======================================== ...

  5. Java实例---简单的数据库操作

    源码分析 DAOFactory.java package cn.ftl.mysql ; public class DAOFactory { public static IEmpDAO getIEmpD ...

  6. Java实例---简单的投票系统

    代码分析  InputData.java package vote; import java.io.BufferedReader; import java.io.IOException; import ...

  7. 主题:Java WebService 简单实例

    链接地址:主题:Java WebService 简单实例    http://www.iteye.com/topic/1135747 前言:朋友们开始以下教程前,请先看第五大点的注意事项,以避免不必要 ...

  8. Java之从头开始编写简单课程信息管理系统

    编写简单的课程管理系统对于新手并不友好,想要出色的完成并不容易以下是我的一些经验和方法 详情可参考以下链接: https://www.cnblogs.com/dream0-0/p/10090828.h ...

  9. PureMVC和Unity3D的UGUI制作一个简单的员工管理系统实例

    前言: 1.关于PureMVC: MVC框架在很多项目当中拥有广泛的应用,很多时候做项目前人开坑开了一半就消失了,后人为了填补各种的坑就遭殃的不得了.嘛,程序猿大家都不喜欢像文案策划一样组织文字写东西 ...

随机推荐

  1. XXX is not in the sudoers file. This incident will be reported 的问题解决方案

    不多说,直接上干货! 说的是,这种问题,是出现在ubuntu系统里. root@SparkSingleNode:/usr/local/jdk# pwd /usr/local/jdk root@Spar ...

  2. mysql exceeded the 'max_questions' resource 记录

    最近Hive Meta的  Mysql 常报错 'user' has exceeded the 'max_questions' resource (current value: 10000) 解决:调 ...

  3. 我爱Markdown (2)

    Markdown的语法很简单,所以很容易上手.下面介绍一下常用的Markdown的语法, 本文将介绍: 01 - Back-ticks 反尖号 02 - Headers 标题 03 - Emphasi ...

  4. 仿淘宝商品详情页上拉弹出新ViewController

    新项目就要开始做了,里面有购物那块,就试着先把淘宝商品详情页的效果做了一下. 1.需求 1.第一次上拉时,A视图拉到一定距离将视图B从底部弹出,A视图也向上 2.显示B视图时下拉时,有刷新效果,之后将 ...

  5. MYSQL登录错误:mysqladmin: connect to server at ‘localhost’ failed

    一.mysql登录错误 mysqladmin: connect to server at 'localhost' failed       error: 'Access denied for user ...

  6. 使用 OLEDB 及 SqlBulkCopy 将多个不在同一文件夹下的 ACCESS mdb 数据文件导入MSSQL

    注:转载请标明文章原始出处及作者信息http://www.cnblogs.com/z-huifei/p/7380388.html 前言 OLE DB 是微软的战略性的通向不同的数据源的低级应用程序接口 ...

  7. 15、IO (转换流、缓冲流)

    转换流概述 * A: 转换流概述 * a: 转换流概述 * OutputStreamWriter 是字符流通向字节流的桥梁:可使用指定的字符编码表,将要写入流中的字符编码成字节 * 将字符串按照指定的 ...

  8. 【原】Spring和Dubbo基于XML配置整合过程

    背景 随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进. 单一应用架构 当网站流量很小时,只需一个 ...

  9. eclipse 更改背景颜色字体

    原文 切一个自己的图: 废话不说,直接入题. 方式一:替换Eclipse的配置文件 其实Eclipse的各种配置都是在文件设置里的,因此只要用一个配置好的模版来替换默认的配置文件,即可将所有配置克隆到 ...

  10. C# 进程通信-命名管道

    之前看wcf服务的时候看到wcf有支持管道通信协议,之前不知道,最近刚好有用到这个,这里写个简单实例 .net有已经封装好的pip通信的对象NamedPipeServerStream 和NamedPi ...