首页 > 分享 > PetShop

PetShop

题目

编写一个宠物商店程序,要求如下:
假设你拥有一家宠物商店,该店能够寄样一批宠物(用数组存储,用常量设置数组最大值,如10),通过程序实现该宠物商店的宠物管理。

程序实现具体宠物寄养功能(寄样功能可理解为宠物对象创建,如:用户输入1,表示寄样一只狗;输入2,表示寄样一只猫;输入3,表示创建一只鸟),并在寄样时对该宠物信息登记并命名,最后在内存中保存这些创建的宠物。程序提供针对名称的检索功能,即,根据用户提供的名称在寄样的宠物中查找宠物并输出该宠物的类型及创建序号。程序提供对宠物的信息输出功能(信息输出,如:喂养序号为1,名称为大黄的宠物狗,可以输出“1 狗大黄”),可根据类型输出所有类型相同的宠物;并可根据寄样序号,输出该序号之前所有当前在店中寄样的宠物。构建所有宠物的父类:Pet,该类中定义宠物的基本属性及方法。构建基本宠物类:狗(Dog)、猫(Cat)、鸟(Bird)等。可通过多态实现对任意宠物的喂养。定义静态方法,该方法可以对传入的对象实例进行判断,并输出该对象实例的类型。创建“领走宠物”类,即寄样时间到达后,用户可以领走自己所寄养的宠物。构建测试类,该类实现与用户的交互,向用户提示操作信息,并接收用户的操作请求。

程序应具有良好的类层次结构,良好的人机交互性能,即:程序应向用户提示功能说明,并可根据用户的功能选择,执行对应的功能,并给出带详细描述信息的最终执行结果。

代码如下

import java.util.*; /** * Petshop */ interface TakePet { void takeIt(); } abstract class Pet implements TakePet { String name; int num; Pet(String s) { name = s; } static String judge(Pet pet) { if (pet instanceof Cat) { return "猫"; } else if (pet instanceof Dog) { return "狗"; } else if (pet instanceof Bird) { return "鸟"; } else return "Pet"; } abstract void print(); public void takeIt() { System.out.println(name + "被领走"); } } class Cat extends Pet { Cat(String s, int n) { super(s); num = n; } void print() { System.out.println("创建编号:" + num + " " + "宠物类型:" + Pet.judge(this) + " " + "宠物名称:" + name); } } class Dog extends Pet { Dog(String s, int n) { super(s); num = n; } void print() { System.out.println("创建编号:" + num + " " + "宠物类型:" + Pet.judge(this) + " " + "宠物名称:" + name); } } class Bird extends Pet { Bird(String s, int n) { super(s); num = n; } void print() { System.out.println("创建编号:" + num + " " + "宠物类型:" + Pet.judge(this) + " " + "宠物名称:" + name); } } public class TestPetShop { public static void main(String[] args) { Scanner sc = new Scanner(System.in); final int MAX_N = 10; List<Pet> pets = new ArrayList<Pet>(MAX_N); int temp; int k = 0; while (true) { System.out.println("输入1,表示寄养一只狗;n输入2,表示寄养一只猫;n输入3,表示创建一只鸟;n输入4,查找宠物n输入5,领走宠物n输入0,退出;"); temp = sc.nextInt(); if (temp == 0) break; else if (temp == 1) { System.out.println("请输入要寄养的宠物名称:"); String s = sc.next(); pets.add(new Dog(s, pets.size() + 1)); pets.get(pets.size() - 1).print(); } else if (temp == 2) { System.out.println("请输入要寄养的宠物名称:"); String s = sc.next(); pets.add(new Cat(s, pets.size() + 1)); pets.get(pets.size() - 1).print(); } else if (temp == 3) { System.out.println("请输入要寄养的宠物名称:"); String s = sc.next(); pets.add(new Bird(s, pets.size() + 1)); pets.get(pets.size() - 1).print(); } else if (temp == 4) { System.out.println("请输入要查找的宠物名称:"); String s = sc.next(); for (Pet o : pets) { if (o.name.equals(s)) { System.out.println("宠物类型:" + Pet.judge(o) + " " + "创建编号:" + " " + o.num); break; } } } else if (temp == 5) { System.out.println("请输入要领走的宠物名称:"); String s = sc.next(); for (Pet o : pets) { if (o.name.equals(s)) { o.takeIt(); pets.remove(o); break; } } } } sc.close(); } }

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130

相关知识

mengxin/petshop
宠物商店图标。狗用装饰骨头。宠物配件。矢量插图在平面风格剪辑艺术。Petshop超市图片
宠物交易系统,分为宠物主人和宠物商店两种角色,宠物主人可以购买宠物或将已有的宠物卖给商店,宠物商店可以购买宠物、卖出宠物、培育宠物、查询待售宠物、查看商店账目和开设新的宠物商店。系统启动后会显示所有宠物主人、宠物和宠物商店信息,并提示两种角色登录。编写Java代码
宠物狗选美大赛:谁的打扮最时尚?
Java实验项目三——宠物商店
微软宠物商店代码分析
今天我开始学习:PETSHOP3.0宠物商店(经典案例)
Java假设一个宠物店有1000个动物,一次宠物体检,给每个宠物的体重、活跃度、灵敏度进行了打分(100分制)
使用Java实现数据库编程 项目(宠物商店)
宠物属性控制

网址: PetShop https://m.mcbbbk.com/newsview581309.html

所属分类:萌宠日常
上一篇: 不让养宠物合同5篇.docx
下一篇: 捕鸟蛛怎么养才能养出状态?分析温