首页 > 分享 > java 宠物店管理系统

java 宠物店管理系统

项目需求:

1. 完成宠物管理系统!
   1. 新建一个Pet类
      1. 属性:
         1. 名字String name
         2. 性别 char sex
         3. 年龄 int age
      2. 方法:
         1. 吃 eat
         2. 叫 howl
         3. 显示宠物信息 show
   2. 新建一个 Dog类 继承 Pet类
      1. 新增属性:
         1. 品种 kind
      2. 新增方法:
         1. 跑 run
         2. 拆家 dealer
   3. 新建一个Cat 类 继承 Pet类
      1. 新增属性
         1. 和主人的亲密度 love
      2. 新增方法
         1. 跑 run
         2. 卖萌 actingCute
   4. 新建一个类 PetShop
      1. 属性:
         1. 宠物店名字 String name
         2. 存储宠物的笼子 Pet[] pets=new Pet[100];(宠物店最多能存储100只宠物)
      2. 方法:
         1. 进货宠物 private boolean addPet(Pet pet);//私有进货方法。
         2. 收购宠物 public boolean purchasePet(Pet pet);//公开收购宠物方法,在该方法调用 进货宠物 addPet 方法。
         3. 销售宠物 private Pet sellPet();//销售流程私有。
         4. 顾客买宠物 public Pet buyPet(int type);//1代表买 狗,2代表买猫。返回Pet。在该方法调用 销售宠物 sellPet 方法。
         5. 向顾客展示所有宠物信息 public void showPets()
   5. 测试(用户的角色是顾客):
      1. 顾客进入宠物店。PetShop.name宠物店老板说:你是要买宠物(1)?还是要出售宠物(2)?还是随便看看然后离开(0)?
         1. 购买宠物:
            1. 需要买什么宠物?狗(1),猫(2)
               1. 选择狗:
                  1. 要什么品种的狗?
                  2. 输入完信息后查找宠物店是否存在该品种的狗,如果存在则随机出一个符合品种的狗购买,然后购买成功!输出狗的信息。
                     如果不存在该品种的狗,则提示:你选择的品种本店没有,请重新输入!
                     (输入:exit离开)
                     注意:!!!
                     不要求购买交易流程等。只要能通过品种,然后从宠物店中所有该品种的狗随机出一只即可。
               2. 选择猫:
                  1. 需要多少亲密度的猫咪?(0-100)
                  2. 如果输入的亲密度为 X 则 随机出  [x-10~x+10]范围的猫咪,然后完成购买,输出猫咪信息。否则(流程参考狗的购买流程)
         2. 出售宠物:
            1. 你的宠物是?狗(1),猫(2)
               1. 选择狗:
                  1. 是什么品种的狗?
                  2. 是什么性别的狗?
                  3. 狗的年龄多大?
                  4. 狗取什么名字?
                  5. 输入完信息后完成出售,出售宠物成功!
               2. 选择猫:
                  1. 你的猫咪和主人的亲密度为多少?(0-100)
                  2. 是什么性别的猫?
                  3. 猫年龄多大?
                  4. 猫取什么名字?
                  5. 输入完信息后完成销售,销售成功!
         3. 离开!

注:[购买宠物]、[出售宠物]、[离开] 。等菜单可以循环选择!

项目源码下载地址:

https://github.com/benxiaohai8888/Javase/tree/master/work

项目代码:

1 Pet.java

package work;

public abstract class Pet {

protected String name;

protected String sex;

protected int age;

public Pet(String name, String sex, int age) {

this.name = name;

this.sex = sex;

this.age = age;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getSex() {

return sex;

}

public void setSex(String sex) {

this.sex = sex;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

public abstract void eat();

public abstract void howl();

public abstract void show();

public abstract void run();

}

2.Cat.java

package work;

public class Cat extends Pet {

private int love;

public Cat(String name, String sex, int age, int love) {

super(name, sex, age);

this.love = love;

}

public void setLove(int love) {

if (love < 0 || love > 100) {

this.love = 20;

} else

this.love = love;

}

public int getLove() {

return love;

}

public static void main(String[] args) {

}

@Override

public void eat() {

}

@Override

public void howl() {

}

@Override

public void show() {

System.out.println(this.toString());

}

@Override

public void run() {

}

public void actingCute() {

}

@Override

public String toString() {

return "Cat [love=" + love + ", name=" + name + ", sex=" + sex + ", age=" + age + "]";

}

}

3. Dog.jva

package work;

public class Dog extends Pet {

private String kind;

public Dog(String name, String sex, int age, String kind) {

super(name, sex, age);

this.kind = kind;

}

public String getKind() {

return kind;

}

public void setKind(String kind) {

this.kind = kind;

}

@Override

public void eat() {

}

@Override

public void howl() {

}

@Override

public void show() {

System.out.println(this.toString());

}

@Override

public void run() {

}

public void dealer() {

}

@Override

public String toString() {

return "Dog [kind=" + kind + ", name=" + name + ", sex=" + sex + ", age=" + age + "]";

}

}

4.PetShop.java

package work;

import java.util.Random;

public class PetShop {

private String name;

private Pet[] pets = new Pet[10];

private int count = 0;

public PetShop(String name) {

this.name = name;

addPet(new Dog("小黑", "雄", 2, "拉布拉多"));

addPet(new Cat("莉莉", "母", 4, 80));

addPet(new Dog("小白", "雌", 1, "中华田园犬"));

addPet(new Cat("露西", "母", 6, 85));

addPet(new Dog("andy", "公", 1, "藏獒"));

addPet(new Cat("默默", "母", 2, 50));

addPet(new Cat("小强", "公", 8, 89));

addPet(new Dog("小小", "雄", 2, "拉布拉多"));

addPet(new Dog("big", "雄", 2, "中华田园犬"));

}

public boolean hasDogKind(String kind) {

for (Pet pet : pets) {

if (pet instanceof Dog) {

Dog d = (Dog) pet;

boolean equals = d.getKind().equals(kind);

if (equals) {

return true;

}

}

}

return false;

}

public String getName() {

return name;

}

public int size() {

return count;

}

private boolean addPet(Pet pet) {

if (count >= pets.length) {

return false;

}

pets[count] = pet;

count++;

return true;

}

public boolean purchasePet(Pet pet) {

return this.addPet(pet);

}

public Pet buyDog(String kind) {

int kindNum = 0;

for (int i = 0; i < pets.length; i++) {

Pet pet = pets[i];

if (pet instanceof Dog) {

Dog d = (Dog) pet;

boolean equals = d.getKind().equals(kind);

if (equals) {

kindNum++;

}

}

}

int[] kindIndex = new int[kindNum];

int k = 0;

for (int i = 0; i < pets.length; i++) {

Pet pet = pets[i];

if (pet instanceof Dog) {

Dog d = (Dog) pet;

boolean equals = d.getKind().equals(kind);

if (equals) {

kindIndex[k++] = i;

}

}

}

Random r = new Random();

int nextInt = r.nextInt(kindIndex.length);

int i = kindIndex[nextInt];

Pet result = pets[i];

capaticyConfirm(i);

return result;

}

private void capaticyConfirm(int index) {

int tag = index;

while (tag < count - 1) {

pets[tag] = pets[tag + 1];

tag++;

}

pets[--count] = null;

}

public void showPets() {

for (int i = 0; i < count; i++) {

pets[i].show();

}

}

public boolean hasCatLove(int love) {

for (Pet pet : pets) {

if (pet instanceof Cat) {

Cat c = (Cat) pet;

boolean equals = love - c.getLove() >= -10 && love - c.getLove() <= 10;

if (equals) {

return true;

}

}

}

return false;

}

public Pet buyCat(int love) {

int kindNum = 0;

for (int i = 0; i < pets.length; i++) {

Pet pet = pets[i];

if (pet instanceof Cat) {

Cat c = (Cat) pet;

boolean equals = love - c.getLove() >= -10 && love - c.getLove() <= 10;

if (equals) {

kindNum++;

}

}

}

int[] kindIndex = new int[kindNum];

int k = 0;

for (int i = 0; i < pets.length; i++) {

Pet pet = pets[i];

if (pet instanceof Cat) {

Cat c = (Cat) pet;

boolean equals = love - c.getLove() >= -10 && love - c.getLove() <= 10;

if (equals) {

kindIndex[k++] = i;

}

}

}

Random r = new Random();

int nextInt = r.nextInt(kindIndex.length);

int i = kindIndex[nextInt];

Pet result = pets[i];

capaticyConfirm(i);

return result;

}

}

5 Main.java

package work;

import java.util.Scanner;

public class Main {

static Scanner sc = new Scanner(System.in);

PetShop petShop = new PetShop("老王");

public static void main(String[] args) {

Main main = new Main();

main.start();

}

private void start() {

while (true) {

System.out.println(petShop.getName() + "说:你是要买宠物(1)?还是要出售宠物(2)?查看所有宠物(3)?还是随便看看然后离开(0)?");

int choise = sc.nextInt();

switch (choise) {

case 1:

this.buyPetView();

break;

case 2:

this.purchasePetView();

break;

case 3:

petShop.showPets();

break;

default:

System.out.println("再见...");

return;

}

}

}

private void purchasePetView() {

int choise = inputInt("你的宠物是?狗(1),猫(2)");

switch (choise) {

case 1:

purchaseDogView();

break;

case 2:

purchaseCatView();

break;

default:

break;

}

}

private void purchaseCatView() {

int love = inputInt("你的猫咪和主人的亲密度为多少?(0-100)");

String sex = inputStr("是什么性别的猫?");

int age = inputInt("猫年龄多大?");

String name = inputStr("猫取什么名字?");

Cat cat = new Cat(name, sex, age, love);

boolean purchasePet = petShop.purchasePet(cat);

System.out.println(purchasePet ? "收购成功!" : "收购失败!");

}

private void purchaseDogView() {

String kind = inputStr("是什么品种的狗?");

String sex = inputStr("是什么性别的狗?");

String name = inputStr("狗取什么名字?");

int age = inputInt("狗的年龄多大?");

Dog dog = new Dog(name, sex, age, kind);

boolean purchasePet = petShop.purchasePet(dog);

System.out.println(purchasePet ? "收购成功!" : "收购失败!");

}

private void buyPetView() {

switch (inputInt("需要买什么宠物?狗(1),猫(2)")) {

case 1:

buyDogView();

break;

case 2:

buyCatView();

break;

default:

break;

}

}

private void buyCatView() {

while (true) {

int love = inputInt("需要多少亲密度的猫咪?(0-100)");

boolean hasCatLove = petShop.hasCatLove(love);

if (!hasCatLove) {

System.out.println("你选择的亲密度本店没有,请重新输入!");

continue;

}

Pet buyCat = petShop.buyCat(love);

buyCat.show();

return;

}

}

private void buyDogView() {

while (true) {

String kind = inputStr("要什么品种的狗?");

boolean hasDogKind = petShop.hasDogKind(kind);

if (!hasDogKind) {

System.out.println("你选择的品种本店没有,请重新输入!");

continue;

}

Pet buyDog = petShop.buyDog(kind);

buyDog.show();

return;

}

}

public int inputInt(String tip) {

System.out.println(tip);

return sc.nextInt();

}

public String inputStr(String tip) {

System.out.println(tip);

return sc.next();

}

}

项目截图:


相关知识

java计算机毕业设计ssm宠物店管理系统
java基于ssm+mysql的宠物店管理系统 计算机毕业设计
java计算机毕业设计ssm宠物店管理系统element vue前后端分离
Java网上宠物店预约系统(毕设源码+mysql+lw)
jsp宠物店管理系统ok132
毕业设计:基于java的宠物管理系统设计与实现
基于java的宠物管理系统设计与实现
java毕设安卓宠物店管理网站(开题+源码)
Java基于java鸟类管理系统与实现(开题+源码)
java毕业设计社区宠物管理与推荐系统(Springboot+mysql+jdk1.8+maven3.39)

网址: java 宠物店管理系统 https://m.mcbbbk.com/newsview191352.html

所属分类:萌宠日常
上一篇: 2022新款宠物挂牌金属个性化标
下一篇: 个性的宠物狗名字