文章目录

  • 一、实例分析
  • 二、代码示例

一、实例分析

设计一个宠物商店,宠物商店中可以有多种宠物,试表示出此种关系,要求可以根据宠物的关键字查找到相应的宠物信息。
具体分析如下:
(1)要求提示宠物的信息可以自行设计,可以简单设计出名字、颜色、年龄三个属性
(2)宠物的类别很多,如猫、狗等都属于宠物,所以宠物应该是一个标准
(3)在宠物商店中,只要是符合了此宠物标准的就都应该放进宠物商店中
(4)宠物商店需要保存多种宠物,则应该是一个宠物的对象数组,如果宠物的个数由用户决定,则应该在创建宠物商店时,就已经分配好宠物的个数。

分析图:

可以看出宠物商店不管具体的宠物是哪一个,只要是宠物就可以放进去,所以此宠物的标准应该使用接口进行定义,每个具体的宠物都实现此接口,宠物商店与接口有关。

二、代码示例

(1)Pet.java

interface Pet{//宠物接口public String getName();//得到宠物的名字public String getColor();//得到宠物的颜色public int getAge();//得到宠物的年龄
}

(2)Cat.java

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 this.name;}public void setName(String name){this.name = name;}public String getColor(){return this.color;}public void setColor(String color){this.color = color;}public int getAge(){return this.age;}public void setAge(int age){this.age = age;}
}

(3)Dog.java

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 this.name;}public void setName(String name){this.name = name;}public String getColor(){return this.color;}public void setColor(String color){this.color = color;}public int getAge(){return this.age;}public void setAge(int age){this.age = age;}
}

(4)PetShop.java

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=0;i<this.pets.length;i++){if(this.pets[i] != null)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;}
}

(5)PetShopDemo.java

public class PetShopDemo {public static void main(String[] args) {PetShop ps = new PetShop(5);//5个宠物ps.add(new Cat("white cat","white",2));//增加宠物ps.add(new Cat("green cat","green",3));//增加宠物ps.add(new Cat("black cat","black",4));//增加宠物ps.add(new Dog("white dog","white",2));//增加宠物ps.add(new Dog("yellow dog","yellow",3));//增加宠物ps.add(new Dog("red dog","red",4));//增加宠物print(ps.search("white"));}public static void print(Pet p[]){//输出操作for(int i=0;i<p.length;i++){//循环输出System.out.println(p[i].getName()+","+p[i].getColor()+","+p[i].getAge());}}
}

(Java)实例分析 -- 宠物商店相关推荐

  1. java实例分析宠物商店_java实例分析:宠物商店.ppt

    JAVA 应用开发详解 面向对象(高级) -- 实例分析:宠物商店 实例要求 实现一个宠物商店,在宠物商店中可以有多种(由用户决定数量)宠物,试表示出此种关系,并要求可以根据宠物的关键字查找到相应的宠 ...

  2. Eclipse+Java+Swing实现宠物商店管理系统

    Java+Swing实现宠物商店 一.系统介绍 二.系统展示 1.主界面 2.增加宠物 3.删除宠物 4.修改宠物 5.查询宠物 6.模块查询 三.系统实现 Cat.java Dog.java Mou ...

  3. [附源码]java毕业设计网上宠物商店

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  4. Java小程序——宠物商店

    一.问题描述 设计一个宠物商店,在商店中可以有多种宠物,试表示出此种关系,并要求可以根据关键字查找相应的宠物信息.所需要的宠物信息自行设定. 1.可以保存多个宠物的信息 2.宠物的属性:名字.年龄等 ...

  5. 【计算机毕业设计】java ssm网上宠物商店系统

    毕设帮助.开题指导.源码交流,联系方式见文末哦. 一.研究现状 近年来,随着Internet的迅速崛起,互联网已日益成为收集提供信息的最佳渠道并逐步进入传统的流通领域.于是电子商务开始流行起来,越来越 ...

  6. Java 链表(宠物商店)

    范例:宠物商店 //宠物接口类 interface Pet {public abstract String getName();// 获取名字抽象方法public abstract int getAg ...

  7. Java实例分析:股指期货交易系统搭建

    我们日常所说的股指期货交易系统,期权交易系统指为券商端的期货系统.期权交易系统,一般情况下,期货客户都由该交易系统连接到交易成交平台.系统提供客户下单,行情信息,资金结算和风险控制等功能,这样的股指期 ...

  8. Java项目:在线宠物商店系统(java+SSM+mysql+maven+tomcat)

    源码获取:博客首页 "资源" 里下载! 一.项目简述 功能:本系统分用户前台和管理员后台. 系统包括用户的注册登录,狗狗的展示购物车添加以及下 单支付购买,后台有管理员用户,可以操 ...

  9. Java-面向对象实例--宠物商店

    面向对象实例分析-宠物商店 设计一个宠物商店,在商店中可以有多种宠物,试表示出此种关系,并要求可以根据关键字查找相应的宠物信息.所需要的宠物信息自行设定. (1).简单设计出名字.颜色.年龄属性: ( ...

最新文章

  1. 常见的块状和内联元素
  2. 强化学习在出行行业的应用等
  3. Consul入门01 - 安装Consul
  4. 命令行调用springboot服务_Spring Boot命令行界面的使用
  5. Elastic Job入门(1) - 简介
  6. Cocos2d-3.x目录介绍分析
  7. CVPR 2020百度-涵盖全视觉领域22篇
  8. mfc110.dll丢失,解决方法
  9. 《业务测试》手机号码格式
  10. 使用vim修改只读文件
  11. 计算机开机后无法网络拨号怎样处理,电脑不能拨号上网显示调制解调器已删除怎么办...
  12. 论文解读 | 百度 ERNIE: Enhanced Representation through Knowledge Integration
  13. 众人帮怎么发布悬赏任务?发布任务所需要求条件是什么?
  14. 易烊千玺成为罗莱家纺品牌代言人
  15. Unity 之 ShaderGraph 护盾
  16. 使用vuepress搭建一个完全免费的个人博客网站
  17. 048python写字笔画顺序识别检测笔顺是否有误检测
  18. 分布式计算框架Hadoop原理及架构全解
  19. android app自动锁屏,Android开机自动启动app 不锁屏
  20. 丁苯嵌段共聚物的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告

热门文章

  1. mysql ibata文件_重装系统后,怎么调用之前mysql的数据_mysql
  2. WinRAR免费版 v5.03 官方简体中文版
  3. 前端工程师的自我修养:React Fiber 是如何实现更新过程可控的
  4. 张氏标定法求相机模型中的内参(Intrinsics)
  5. 暨南大学计算机研究生复试机试历年真题
  6. gorm FirstOrCreate和受影响行数
  7. PHP实现一个表单-学生信息登记表单
  8. openwrt变砖恢复(串口boot下升级)教程
  9. 由建站学linux第3课---阿里云的使用二
  10. pandas第四章——变形