代码分析

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. IDEA 及 Gradle 使用总结

    自动编译组件 目前Android开发的主流开发工具是 Eclipse 和 IDEA 目前主流的自动化打包工具时 ant,maven,gradle. maven工具中有自己的依赖仓库维护,很多开源支持包 ...

  2. np.random.random()函数 参数用法以及numpy.random系列函数大全

    原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/9751471.html 1.np.random.random()函数参数 np.random.r ...

  3. Linux下SSH工具 PAC Manager的安装

    PAC Manager, Linux下类似SecureCRT Xshell的SSH工具,该工具功能上相当的不错,完全可以代替SecureCRT Xshell的功能. PAC (Perl Auto Co ...

  4. R语言函数

    函数是一个组织在一起的一组以执行特定任务的语句.R语言有大量的内置函数,用户也可以创建自己的函数. 在R语言中的函数是一个对象,所以R语言解释器为能够通过控制到该函数,带有参数可能是函数必要完成的操作 ...

  5. R语言中apply函数

    前言 刚开始接触R语言时,会听到各种的R语言使用技巧,其中最重要的一条就是不要用循环,效率特别低,要用向量计算代替循环计算. 那么,这是为什么呢?原因在于R的循环操作for和while,都是基于R语言 ...

  6. Angular2 不明真相第一个Demo例子

    如果不是去年换工作接触到AngularJS,估计是不会花时间去学习这个框架的,毕竟是前端的框架,不是自己熟悉的领域.但是为了混得下去,去年就学习了AngularJS的一些用法,当时还整理了一些积累 & ...

  7. openvpn应用场景案例【转】

    转载至:http://www.linuxfly.org/post/86/ 一.案例1 针对不同的客户端指定不同的等级和权限.通常的方法是:1.每个客户端分配不同的IP地址:2.利用防火墙对不同的IP地 ...

  8. django分页的两种方式

    第一种自定义分页: def pageDemo(request): ''' 自定义分页] :param request: :return: ''' currentpage=request.GET.get ...

  9. [linux] C语言Linux系统编程-socket开发

    struct sockaddr_in serv_addr; 1.定义结构体变量,结构体是一种数据类型,那么就可以用它来定义变量 2.struct 结构体名 变量名; (struct sockaddr* ...

  10. 撩课-Python-每天5道面试题-第4天

    一. for循环和while循环中的else代表什么意思? 当for循环和while循环顺利的遍历完成时, 就会执行else分支 如果循环过程中, 碰到continue, 只要没有打断循环, 就会继续 ...