目录
宠物商店管理系统
一、概述
二、代码解析
三、使用方法
四、示例
五、总结
这是一个使用Java编写的宠物商店管理系统。该系统提供了添加、修改、删除和查看宠物的功能。用户可以通过菜单进行操作,系统会根据用户的选择执行相应的功能。
这个案例作为面向对象基础案例非常合适,赶紧练练吧!
1. `petList`:用于存储宠物对象的数组。
2. `count`:用于记录当前宠物数量的变量。
3. `sc`:用于获取用户输入的扫描器对象。
4. `menu()`:主菜单方法,根据用户输入的数字选择相应的功能。
5. `add()`:添加宠物的方法,根据用户输入的信息创建相应类型的宠物对象并添加到`petList`中。
6. `updata()`:修改宠物信息的方法,根据用户输入的信息修改指定宠物的属性。
7. `findPet(String name)`:查找宠物的方法,根据宠物名称在`petList`中查找对应的宠物对象。
8. `delete()`:删除宠物的方法,根据用户输入的名称删除指定的宠物对象。
9. `show()`:显示宠物列表的方法,遍历`petList`并打印每个宠物的信息。
1. 运行程序后,进入主菜单。
2. 根据提示选择功能,如添加宠物、修改宠物等。
3. 按照提示输入相应的信息,如宠物类型、名称、年龄等。
4. 完成操作后,可以选择查看宠物列表或退出系统。
下面是系统主页面类:
import java.util.Scanner;
public class BLBPetStoreManager {
private static Pet[] petList = new Pet[100];
private static int count = 0;
private Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
BLBPetStoreManager petStoreManager = new BLBPetStoreManager();
petStoreManager.menu();
}
public void menu(){
while (true){
System.out.println("欢迎使用百里半宠物商店管理系统!");
System.out.println("请选择功能:");
System.out.println("1.添加宠物");
System.out.println("2.修改宠物");
System.out.println("3.删除宠物");
System.out.println("4.宠物列表");
System.out.println("5.退出系统");
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
switch (num){
case 1:
add();
break;
case 2:
updata();
break;
case 3:
delete();
break;
case 4:
show();
break;
case 5:
System.exit(0);
default:
System.out.println("无效输入");
break;
}
}
}
public void add(){
System.out.println("请选择宠物类型:");
System.out.println("1.狗");
System.out.println("2.猫");
System.out.println("3.仓鼠");
System.out.println("4.兔子");
int num = sc.nextInt();
System.out.println("请输入名称:");
String name = sc.next();
System.out.println("请输入年龄:");
int age = sc.nextInt();
System.out.println("请输入宠物爱吃的食物:");
String food = sc.next();
switch (num){
case 1:
System.out.println("请输入狗的体型:");
String dogSize = sc.next();
petList[count] = new Dog(name,age,food,dogSize);
count++;
System.out.println("添加宠物成功!");
break;
case 2:
System.out.println("请输入猫的品种:");
String catBreed = sc.next();
petList[count] = new Cat(name,age,food,catBreed);
count++;
System.out.println("添加宠物成功!");
break;
case 3:
System.out.println("请输入仓鼠的毛色:");
String FurColor = sc.next();
petList[count] = new Hamster(name,age,food,FurColor);
count++;
System.out.println("添加宠物成功!");
break;
case 4:
System.out.println("请输入兔子的毛色:");
double jumpHeight = sc.nextDouble();
petList[count] = new Rabbit(name,age,food,jumpHeight);
count++;
System.out.println("添加宠物成功!");
break;
default:
System.out.println("无效输入");
break;
}
}
public void updata(){
System.out.println("请输入要修改的宠物名称:");
String name = sc.next();
Pet pet = findPet(name);
if (pet != null) {
System.out.println("请输入新的宠物名称:");
String newName = sc.next();
pet.setName(newName);
System.out.println("请输入新的宠物年龄:");
int newAge = sc.nextInt();
pet.setAge(newAge);
if (pet instanceof Dog) {
System.out.println("请输入新的狗的体型:");
String newSize = sc.next();
((Dog) pet).setSize(newSize);
} else if (pet instanceof Cat) {
System.out.println("请输入新的猫的品种:");
String newBreed = sc.next();
((Cat) pet).setBreed(newBreed);
} else if (pet instanceof Hamster) {
System.out.println("请输入新的仓鼠的毛色:");
String newFurColor = sc.next();
((Hamster) pet).setFurColor(newFurColor);
} else if (pet instanceof Rabbit) {
System.out.println("请输入新的兔子的跳跃高度:");
double newJumpHeight = sc.nextDouble();
((Rabbit) pet).setJumpHeight(newJumpHeight);
}
System.out.println("修改宠物信息成功!");
} else {
System.out.println("未找到宠物:" + name);
}
}
public static Pet findPet(String name) {
for (int i = 0; i < count; i++) {
if (petList[i].name.equals(name)) {
return petList[i];
}
}
return null;
}
public void delete(){
System.out.println("请输入要删除的宠物名称:");
String name = sc.next();
Pet pet = findPet(name);
if (pet != null) {
for (int i = 0; i < count; i++) {
if (petList[i].equals(pet)) {
for (int j = i; j < count - 1; j++) {
petList[j] = petList[j + 1];
}
petList[count - 1] = null;
count--;
break;
}
}
System.out.println("删除宠物成功!");
} else {
System.out.println("未找到宠物:" + name);
}
}
public void show(){
if (count == 0) {
System.out.println("宠物列表为空!");
} else {
System.out.println("宠物列表:");
for (int i = 0; i < count; i++) {
System.out.println(petList[i]);
}
}
}
}
下面是Pet.class(宠物类)代码,此类作为Dog类、Cat类、Hamster类(仓鼠类)、Rabbit类(兔子类)的抽象父类,将子类的共同属性和方法提取出来作为父类。
public abstract class Pet {
protected String name;
protected int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getFood() {
return food;
}
public void setFood(String food) {
this.food = food;
}
protected String food;
public Pet(String name, int age, String food){
this.name = name;
this.age = age;
this.food = food;
}
public abstract void eat(String food);
@Override
public String toString() {
return "Pet{" +
"name='" + name + ''' +
", age=" + age +
", food='" + food + ''' +
'}';
}
}
下面是Dog.class代码:
public class Dog extends Pet{
public Dog(String name, int age, String food, String size) {
super(name, age, food);
this.size = size;
}
private String size;
public String getSize() {
return size;
}
public void setSize(String size) {
this.size = size;
}
@Override
public void eat(String food) {
System.out.println(name+"正在吃它喜欢的"+food);
}
public void playBall(){
System.out.println(name+"正在追逐和玩耍球类游戏");
}
@Override
public String toString() {
return "狗:{" +
"名字='" + name + ''' +
", 年龄=" + age +
", 喜欢的食物='" + food + ''' +
", 狗的体型='" + size + ''' +
'}';
}
}
下面为Cat.class代码
public class Cat extends Pet{
public Cat(String name, int age, String food, String breed) {
super(name, age, food);
this.breed = breed;
}
private String breed;
public String getBreed() {
return breed;
}
public void setBreed(String breed) {
this.breed = breed;
}
@Override
public void eat(String food) {
System.out.println(name+"正在吃它喜欢的"+food);
}
public void clean(){
System.out.println(name+"喜欢清洁毛发");
}
@Override
public String toString() {
return "猫:{" +
"名字='" + name + ''' +
", 年龄=" + age +
", 喜欢的食物='" + food + ''' +
", 猫的品种='" + breed + ''' +
'}';
}
}
下面是Hamster.class代码:
public class Hamster extends Pet{
public Hamster(String name, int age, String food,String furColor) {
super(name, age, food);
this.furColor = furColor;
}
private String furColor;
public String getFurColor() {
return furColor;
}
public void setFurColor(String furColor) {
this.furColor = furColor;
}
@Override
public void eat(String food) {
System.out.println(name+"正在吃它喜欢的"+food);
}
public void runOnWheel(){
System.out.println(name+"在跑轮上面奔跑");
}
@Override
public String toString() {
return "仓鼠:{" +
"name='" + name + ''' +
", age=" + age +
", food='" + food + ''' +
", furColor='" + furColor + ''' +
'}';
}
}
下面是Rabbit代码:
package demo4;
public class Rabbit extends Pet{
public Rabbit(String name, int age, String food, double jumpHeight) {
super(name, age, food);
this.jumpHeight = jumpHeight;
}
private double jumpHeight;
public double getJumpHeight() {
return jumpHeight;
}
public void setJumpHeight(double jumpHeight) {
this.jumpHeight = jumpHeight;
}
@Override
public void eat(String food) {
System.out.println(name+"正在吃它喜欢的"+food);
}
public void jump(){
System.out.println(name+"喜欢跳跃和蹦跳");
}
@Override
public String toString() {
return "兔子:{" +
"name='" + name + ''' +
", age=" + age +
", food='" + food + ''' +
", jumpHeight=" + jumpHeight +
'}';
}
}
这个宠物商店管理系统可以帮助用户方便地管理宠物信息,包括添加、修改、删除和查看宠物。通过使用面向对象的思想,将宠物分为不同的类型,并根据类型创建相应的对象。同时,使用数组和循环结构实现了对宠物列表的管理。
相关知识
java面向对象基础案例
面向对象案例——宠物医院
【面向对象学习笔记day03】面向对象基础语法+内置函数+定义简单的类+创建对象+第一个面向对象程序+使用 Cat 类再创建一个对象+方法中的self参数+初始化方法+内置方法和属性+del+str
pyhton面向对象的实例
JAVA面向对象编程——学生喂养三种宠物:猫、狗和鸟
宠物商店 案例分析
Java 面向对象——多态(上)
电子宠物游戏java
用java写的小宠物游戏
初识面向对象(猫咪项目)
网址: java面向对象基础案例 https://m.mcbbbk.com/newsview265867.html
上一篇: 虚拟宠物仓鼠 |
下一篇: 派多格宠物店有没有仓鼠? |