Java实例分析:宠物商店
设计一个“宠物商店”,在宠物商店中可以有多种宠物,试表示出此种关系,并要求可以根据宠物的关键字查找相应的宠物信息。
//=================================================
// File Name : factory
//------------------------------------------------------------------------------
// Author : Common// 接口名:Pet
// 属性:
// 方法:
interface Pet{public String getName();public String getColor();public int getAge();
}//类名:Cat
//属性:
//方法:
class Cat implements Pet{private String Name;private String Color;private int Age;public Cat(String name, String color, int age) { //构造方法this.setName(name);this.setColor(color);this.setAge(age);}public String getName() {return Name;}public void setName(String name) {Name = name;}public String getColor() {return Color;}public void setColor(String color) {Color = color;}public int getAge() {return Age;}public void setAge(int age) {Age = age;}
}//类名:Dog
//属性:
//方法:
class Dog implements Pet{private String Name;private String Color;private int Age;public Dog(String name, String color, int age) { //构造方法this.setName(name);this.setColor(color);this.setAge(age);}public String getName() {return Name;}public void setName(String name) {Name = name;}public String getColor() {return Color;}public void setColor(String color) {Color = color;}public int getAge() {return Age;}public void setAge(int age) {Age = age;}
}//类名:PetShop
//属性:
//方法:
class PetShop{private Pet[] pets; //定义一个Pet形数组,此数字的大小由传入的len决定private int foot; //定义数组的当前元素下标public PetShop(int len){ //数组的大小由len决定,构造方法if(len>0){ //判断传入的长度是否大于0this.pets = new Pet[len]; //根据传入的大小开辟空间}else{ this.pets = new Pet[1]; //否则只开辟长度为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++; //统计符合条件的宠物个数}}}p = new Pet[count]; //根据已经确定的记录数开辟对象数组int f = 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){p[f] = this.pets[i]; //将符合查询条件的宠物信息保存f++;}}}return p;}}//主类
//Function : 适配器设计模式
public class Pet_demo {public static void main(String[] args) {// TODO 自动生成的方法存根PetShop ps = new PetShop(5);ps.add(new Cat("白猫","白",2));ps.add(new Cat("黑猫","黑",4));ps.add(new Cat("黄猫","黄",3));ps.add(new Cat("白狗","白",2));ps.add(new Cat("黑狗","黑",2));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].getAge()+p[i].getColor());}}}}
Java实例分析:宠物商店相关推荐
- java实例分析宠物商店_java实例分析:宠物商店.ppt
JAVA 应用开发详解 面向对象(高级) -- 实例分析:宠物商店 实例要求 实现一个宠物商店,在宠物商店中可以有多种(由用户决定数量)宠物,试表示出此种关系,并要求可以根据宠物的关键字查找到相应的宠 ...
- (Java)实例分析 -- 宠物商店
文章目录 一.实例分析 二.代码示例 一.实例分析 设计一个宠物商店,宠物商店中可以有多种宠物,试表示出此种关系,要求可以根据宠物的关键字查找到相应的宠物信息. 具体分析如下: (1)要求提示宠物的信 ...
- Eclipse+Java+Swing实现宠物商店管理系统
Java+Swing实现宠物商店 一.系统介绍 二.系统展示 1.主界面 2.增加宠物 3.删除宠物 4.修改宠物 5.查询宠物 6.模块查询 三.系统实现 Cat.java Dog.java Mou ...
- [附源码]java毕业设计网上宠物商店
项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...
- Java小程序——宠物商店
一.问题描述 设计一个宠物商店,在商店中可以有多种宠物,试表示出此种关系,并要求可以根据关键字查找相应的宠物信息.所需要的宠物信息自行设定. 1.可以保存多个宠物的信息 2.宠物的属性:名字.年龄等 ...
- 【计算机毕业设计】java ssm网上宠物商店系统
毕设帮助.开题指导.源码交流,联系方式见文末哦. 一.研究现状 近年来,随着Internet的迅速崛起,互联网已日益成为收集提供信息的最佳渠道并逐步进入传统的流通领域.于是电子商务开始流行起来,越来越 ...
- Java 链表(宠物商店)
范例:宠物商店 //宠物接口类 interface Pet {public abstract String getName();// 获取名字抽象方法public abstract int getAg ...
- Java实例分析:股指期货交易系统搭建
我们日常所说的股指期货交易系统,期权交易系统指为券商端的期货系统.期权交易系统,一般情况下,期货客户都由该交易系统连接到交易成交平台.系统提供客户下单,行情信息,资金结算和风险控制等功能,这样的股指期 ...
- Java项目:在线宠物商店系统(java+SSM+mysql+maven+tomcat)
源码获取:博客首页 "资源" 里下载! 一.项目简述 功能:本系统分用户前台和管理员后台. 系统包括用户的注册登录,狗狗的展示购物车添加以及下 单支付购买,后台有管理员用户,可以操 ...
- Java-面向对象实例--宠物商店
面向对象实例分析-宠物商店 设计一个宠物商店,在商店中可以有多种宠物,试表示出此种关系,并要求可以根据关键字查找相应的宠物信息.所需要的宠物信息自行设定. (1).简单设计出名字.颜色.年龄属性: ( ...
最新文章
- Navicat 12连接MySQL8服务器
- 虚拟网卡技术-VETH、MACVLAN、IPVLAN
- Spring的依赖注入和管理Bean
- bzoj1833: [ZJOI2010]count 数字计数(数位DP+记忆化搜索)
- graphql-yoga的安装步骤
- c语言调用linux脚本,C语言执行shellcode的五种方法
- java compare equla_Java中的equals,==,compareTo和compare的比较
- 重写equals方法---java
- Photoshop 通道
- html表格接收json数据,Bootstrap-table如何显示后台传过来的JSON数据?
- 大学生高等数学竞赛复习资料
- 在短视频源码开发中,移动端音视频加密、防盗播实现方案
- mysql计算年休假天数_年休假天数计算方法是怎样的
- fastadmin btn-ajax,FastAdmin 在线命令生成时出错的分析
- assigning the result of this type assertion to a variable could eliminate the followin assertion解决
- 在生成式AI的崛起中,百度“先下一城”
- 别问上海配眼镜去哪里好,这几家上海老店你必须知晓!
- hdu 1205 吃糖果(数学)
- Electron教程(七)结语
- Python+Vue计算机毕业设计在线学习网站2joh7(程序+LW+源码+部署)
热门文章
- java不能弹出打印窗口,java – 如何打印一个摆动窗口,使其非常适合一页
- clob oracle 连接_32天 Oracle 导入导出.
- Php依赖其他模块,3. 强制模块依赖
- 计算机专业基础 -- 数据结构入门与算法基础知识
- microsoft visual c++与microsoft visual net 版本对应关系
- YYYY-mm-dd HH:MM:SS大小写解释
- Puppet File资源介绍(贰拾)
- 多线程获取不到HttpContext
- emacs工程管理,cedet ede插件自动构建Make,Automake
- ADO.NET的DataAdapter对象的方法