代码分析

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. Windows里下载并安装phpstudy(图文详解)

    不多说,直接上干货! 帮助站长快速搭建网站服务器平台! phpstudy软件简介 此是基于phpStudy 2016.01.01. 该程序包集成最新的Apache+Nginx+LightTPD+PHP ...

  2. Android AES加密工具类实现(基础回顾)

    package com.powercreator.cms.util; import java.security.SecureRandom; import javax.crypto.Cipher; im ...

  3. JavaScript设计模式-2高级类.

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  4. java中的this和super(构造函数)

    1.this:表示当前对象 常用的代码: public class A{ private String name; public void setName(String name){ this.nam ...

  5. 使用C++11 开发一个半同步半异步线程池

    摘自:<深入应用C++11>第九章 实际中,主要有两种方法处理大量的并发任务,一种是一个请求由系统产生一个相应的处理请求的线程(一对一) 另外一种是系统预先生成一些用于处理请求的进程,当请 ...

  6. HDU 1102 Constructing Roads(kruskal)

    Constructing Roads There are N villages, which are numbered from 1 to N, and you should build some r ...

  7. ubuntu上安装R的时候遇到的问题总结

    首先感谢这两篇博客的指导,第一篇是关于报错的总结,第二篇是第一篇中没有提到的错误,也就是我在安装的时候出现的错误. 1.下载R包 (去官网选择一个离你最近的镜像网址,我的是清华提供的镜像下载速度比较快 ...

  8. [转]emailjs-smtp-client

    本文转自:https://github.com/emailjs/emailjs-smtp-client/blob/master/README.md SMTP Client SMTP Client al ...

  9. Redis 【Hash】 一句话说明

    HDEL-----------------------------------------------------------哈希表 key 中的一个或多个指定域 HEXISTS----------- ...

  10. centos 网络很慢且无法远程登陆的解决办法

    安装了centOS,但是发现网速实在是卡得几乎不能上网,连百度都打不开 后来想到偶然记得有一次看过一段话,说到关闭ipv6,测试来一下,果然有效,关闭来ipv6打开网速飞快. 关闭方法,在/etc/m ...