作业
声明一个Book类,属性有作者、书名、出版社三个属性。当两本书的作者、书名、出版社完全相同,则认为是同一本书。根据需要覆写equals、toString方法。
完成宠物管理系统!
新建一个Pet类
属性:
名字String name
性别 char sex
年龄 int age
方法:
吃 eat
叫 howl
显示宠物信息 show
新建一个 Dog类 继承 Pet类
新增属性:
- 品种 kind
新增方法:
跑 run
拆家 dealer
新建一个Cat 类 继承 Pet类
新增属性
- 和主人的亲密度 love
新增方法
跑 run
卖萌 actingCute
新建一个类 PetShop
属性:
宠物店名字 String name
存储宠物的笼子 Pet[] pets=new Pet[100];(宠物店最多能存储100只宠物)
方法:
进货宠物 private boolean addPet(Pet pet);//私有进货方法。
收购宠物 public boolean purchasePet(Pet pet);//公开收购宠物方法,在该方法调用 进货宠物 addPet 方法。
销售宠物 private Pet sellPet();//销售流程私有。
顾客买宠物 public Pet buyPet(int type);//1代表买 狗,2代表买猫。返回Pet。在该方法调用 销售宠物 sellPet 方法。
向顾客展示所有宠物信息 public void showPets()
测试(用户的角色是顾客):
顾客进入宠物店。PetShop.name宠物店老板说:你是要买宠物(1)?还是要出售宠物(2)?还是随便看看然后离开(0)?
购买宠物:
需要买什么宠物?狗(1),猫(2)
选择狗:
要什么品种的狗?
输入完信息后查找宠物店是否存在该品种的狗,如果存在则随机出一个符合品种的狗购买,然后购买成功!输出狗的信息。
如果不存在该品种的狗,则提示:你选择的品种本店没有,请重新输入!
(输入:exit离开)
注意:!!!
不要求购买交易流程等。只要能通过品种,然后从宠物店中所有该品种的狗随机出一只即可。
选择猫:
需要多少亲密度的猫咪?(0-100)
如果输入的亲密度为 X 则 随机出 [x-10~x+10]范围的猫咪,然后完成购买,输出猫咪信息。否则(流程参考狗的购买流程)
出售宠物:
你的宠物是?狗(1),猫(2)
选择狗:
是什么品种的狗?
是什么性别的狗?
狗的年龄多大?
狗取什么名字?
输入完信息后完成出售,出售宠物成功!
选择猫:
你的猫咪和主人的亲密度为多少?(0-100)
是什么性别的猫?
猫年龄多大?
猫取什么名字?
输入完信息后完成销售,销售成功!
离开!
注:[购买宠物]、[出售宠物]、[离开] 。等菜单可以循环选择!
题目只是大致的需求描述,具体的设计和可玩性 可以自由发挥设计! 提示语句也不必跟题目要求一致。如:题目要求是 “狗的年龄多大?”,你可以自行设计,如:“您这只可爱的小狗狗今年几岁啦?”等等。
总之!结合程序的可玩性!可增加新的属性,可增加新的功能!发挥你们的想象力!
作业
定义一个 IToggle 接口:
功能:
void open();
void close();
定义一个 ILock 接口;
功能:
boolean lock()
boolean unLock();
在定义一个 IFingerprintLock 指纹锁接口 , 继承 ILock 接口。
新增功能:
- boolean fingerprintRecognition(); 指纹识别功能。
定义 Door 抽象类并实现Lock接口,IToogle接口。
属性:
String brand 品牌属性、
String type 型号。
方法:
void showDoor();//显示门的开,关,上锁,解锁的过程。 在该方法实现调用门的开关流程。如:解锁、开、关、上锁。
void showInfo();//显示门的属性信息
构造方法:给适当的构造方法。
定义 CommonDoor 类,继承 Door 类,并实现相应的方法。
定义一个 SafeBox 保险箱类,实现 IToogle接口、FingerprintLock 指纹锁接口。 并实现相应的方法。
属性:
名字:String name;
价格:double money;
方法:
void showInfo() 显示保险箱的信息
void showSafeBox() 展示 保险箱的开锁流程。如:录入指纹,解锁,开,关,上锁。
定义一个 WasteRecycleFactory 废品回收厂类(单例)。该废品回收因为各种原因,目前只回收带锁的东西。
属性:
String name : 废品厂 名字
Lock[] locks=new Lock[50]; 废品厂最多能回收带锁物品的数量
方法:
boolean recycleWaste(Lock lock);回收带锁的废品。
void showAllLocks();显示所有垃圾物品的信息
测试类。(主要功能分析,具体业务逻辑自由发挥)
需要向废品回收厂 添加带锁功能的东西。(即:是要回收门?还是保险箱)
选择门的时候,需要输入门的基本信息
选择保险箱的时候,需要输入保险箱的基本信息。
在回收的时候,都需要对锁的功能进行展示。
显示所有回收的带锁的物品的具体信息。
要求,程序可以持续运行,即:菜单可以重复选择。
注意:大致功能需求,具体实现,具体的业务逻辑 自由发挥。