Java实现宠物商店管理系统

本文实例为大家分享了Java实现宠物商店管理系统的具体代码,供大家参考,具体内容如下

一、实验目的

1.掌握java类的继承、多态等的基本概念;

2.掌握简单的信息管理系统的设计与实现。

二、实验环境

实验建议在安装了以下软件的计算机上完成:

1. Windows xp/win7/win8/win10操作系统
2. JDK 1.6以上版本
3. Eclipse或NetBeans IDE或EditPlus或其它开发工具

三、实验内容与要求

(一) 问题描述

要求采用java面向对象的基本知识,实现宠物商店管理系统。

(二) 实验要求

1、宠物商店有狗和猫两种动物,请为这两种动物创建各自的类,而且它们都继承宠物类,为这些类定义基本的属性和方法;

2、为宠物商店也创建一个类,该类有基本属性,比如商店名称等,还有宠物笼子的属性,此外,还具备一些方法,比如:买进宠物、销售宠物、清点宠物库存、销售统计和盈利情况等;

3、实现买进宠物的方法,输入狗或猫的基本属性和进货价格,并把该买进的宠物放进宠物笼子;

4、实现销售宠物的方法,输入狗或猫的基本属性和销售价格,并把宠物从宠物笼子取出;

5、实现清点宠物库存方法,列出所有库存的宠物清单;

6、实现销售和盈利统计,查询所有已销售的宠物清单,包括进货价格和销售价格,还有总利润;

四、实现提示

1. 宠物笼子采用数组实现,数组的数据类型为宠物类;

2. 销售清单也采用数组实现。

五、代码

Pet类

public class Pets {
 private String color; //颜色
 private int age; //年龄
 private String sex; //性别
 private String kind;

 private double inPrice; //进货价格
 private double outPrice; //销售价格
 private double profit; //盈利

 public Pets(String color, int age, String sex) {
 this.color = color;
 this.age = age;
 this.sex = sex;
 }

 public Pets() {

 }

 public String getKind() {
 return kind;
 }

 public void setKind(String kind) {
 this.kind = kind;
 }

 public double getProfit() {
 return profit;
 }

 public void setProfit(double profit) {
 this.profit = profit;
 }

 public String getSex() {
 return sex;
 }

 public void setSex(String sex) {
 this.sex = sex;
 }

 public String getColor() {
 return color;
 }

 public void setColor(String color) {
 this.color = color;
 }

 public int getAge() {
 return age;
 }

 public void setAge(int age) {
 this.age = age;
 }

 public double getInPrice() {
 return inPrice;
 }

 public void setInPrice(double inPrice) {
 this.inPrice = inPrice;
 }

 public double getOutPrice() {
 return outPrice;
 }

 public void setOutPrice(double outPrice) {
 this.outPrice = outPrice;
 }

}

Cat类

public class Cat extends Pets{

 public Cat(String color, int age, String sex) {
 super(color, age, sex);
 }

 public Cat() {

 }

}

Dog类

public class Dog extends Pets{

 public Dog(String color, int age, String sex) {
 super(color, age, sex);
 }

 public Dog() {

 }
}

PetsStore类

import java.util.Scanner;
import java.util.Date;
public class PetsStore {
 Scanner input = new Scanner(System.in);
 private String name;
 private Cat[] cats;
 private Dog[] dogs;
 private Pets[] pets;

 private int dogFoot = 0; // 狗的当前长度
 private int catFoot = 0; //猫的当前长度
 private int petFoot = 0; 

 private int num = 0; //库存数量
 private int inNum = 0; //进货数量
 private int outNum = 0; //销售数量

 public PetsStore(int len) {
 if (len > 0) {
  this.cats = new Cat[len]; // 开辟数组大小
  this.dogs = new Dog[len];
  this.pets = new Pets[len];
 } else {
  this.dogs = new Dog[1]; // 至少开辟一个空间
  this.cats = new Cat[1];
  this.pets = new Pets[1];
 }
 }

 public String getName() {
 return name;
 }

 public void setName(String name) {
 this.name = name;
 }

 public void add() { // 添加的是一个宠物
 System.out.println("您添加的是狗还是猫?\n" + "1.狗     2.猫");
 String choice = input.next();
 if(choice.equals("1")) {
  Dog dog = new Dog();

  System.out.println("请输入您要添加的宠物的信息");
   System.out.print("颜色:");
   dog.setColor(input.next());
   System.out.print("年龄:");
   dog.setAge(input.nextInt());
   System.out.print("性别:");
   dog.setSex(input.next());
   System.out.print("进货价格:");
   dog.setInPrice(input.nextDouble());
   System.out.print("出售价格:");
   dog.setOutPrice(input.nextDouble());

  if(dogFoot < dogs.length) {
  dogs[dogFoot] = dog;
  dogFoot++;
  System.out.println("添加成功!");
  inNum++;
  num++;
  }
  else {
  System.out.println("添加失败!");
  }
 }
 else if(choice.equals("2")) {
  if(catFoot < cats.length) {
  Cat cat = new Cat();

  System.out.println("请输入您要添加的宠物的信息");
    System.out.print("颜色:");
    cat.setColor(input.next());
    System.out.print("年龄:");
    cat.setAge(input.nextInt());
    System.out.print("性别:");
    cat.setSex(input.next());
    System.out.print("进货价格:");
    cat.setInPrice(input.nextDouble());
    System.out.print("出售价格:");
    cat.setOutPrice(input.nextDouble());

  cats[catFoot] = cat;
  catFoot++;
  System.out.println("添加成功!");
  inNum++;
  num++;
  }
  else {
  System.out.println("添加失败!");
  }
 }
   else {
  System.out.println("没有这个选项,请重新输入!");
 }
 }

 public void print() {
 Date date = new Date();
 System.out.println("===============宠物商店库存清单===============");
 System.out.println("*******************C A T S*******************");
 System.out.println("Color  Age  Sex  InPrice  OutPrice");
 for (int i = 0; i < cats.length; i++) {
  if (cats[i] != null) {
  System.out.println(cats[i].getColor() + "\t" + cats[i].getAge() + "\t" + cats[i].getSex() + "\t" + cats[i].getInPrice() + "\t" + cats[i].getOutPrice());
  }
 }
 System.out.println("\n*******************D O G S*******************");
 System.out.println("Color  Age  Sex  InPrice  OutPrice");
 for (int i = 0; i < dogs.length; i++) {
  if (dogs[i] != null) {
  System.out.println(dogs[i].getColor() + "\t" + dogs[i].getAge() + "\t" + dogs[i].getSex() + "\t" + dogs[i].getInPrice() + "\t" + dogs[i].getOutPrice());
  }
 }
 System.out.println("=============================================");
 System.out.println("date:   " + date);
 }

 public void sell() {
 if(num == 0) {
  System.out.println("库存为零,请及时购进宠物!\n");
 }
 else {
 System.out.println("您要出售的是猫还是狗?\n" + "1.猫       2.狗");
 String choice = input.next();
 if(choice.equals("1")) {
  System.out.println("请输入您要出售的猫的特征");
  System.out.print("颜色:");
  String color1 = input.next();
  System.out.print("年龄:");
  int age1 = input.nextInt();
  System.out.print("性别:");
  String sex1 = input.next();

  int i, flag = catFoot;
  for(i = 0; i < catFoot; i++) {
  if(color1.equals(cats[i].getColor()) && age1 == cats[i].getAge() && sex1.equals(cats[i].getSex())) {
   flag = i; break;
  }
  }
  if(i == catFoot) {
  System.out.println("查无此猫!请核对后重新输入 \n");
  sell();
  }
  else {
  pets[petFoot] = cats[i];
  pets[petFoot].setKind("cat");
  petFoot++;
  for(int j = flag; j < catFoot; j++) {
   cats[j] = cats[j + 1];
  }
  System.out.println("售出成功!\n");
  catFoot -= 1; //不减1会报数组越界的错误
  outNum++;
  num--;
  }
 }
 else if(choice.equals("2")) {
  System.out.println("请输入您要出售的狗的特征");
  System.out.print("颜色:");
  String color1 = input.next();
  System.out.print("年龄:");
  int age1 = input.nextInt();
  System.out.print("性别:");
  String sex1 = input.next();

  int i, flag = dogFoot;
  for(i = 0; i < dogFoot; i++) {
  if(color1.equals(dogs[i].getColor()) && age1 == dogs[i].getAge() && sex1.equals(dogs[i].getSex())) {
   flag = i; break;
  }
  }
  if(i == dogFoot) {
  System.out.println("查无此狗!请核对后重新输入 ");
  sell();
  }
  else {
  pets[petFoot].setKind("dog");
  pets[petFoot] = dogs[i];
  petFoot++;
  for(int j = flag; j < catFoot; j++) {
   dogs[j] = dogs[j + 1];
  }
  System.out.println("售出成功!\n");
  dogFoot -= 1; //不减1会报数组越界的错误
  outNum++;
  num--;
  }
 }
 else {
  System.out.println("没有这个选项,请重新输入!");
 }
 }
 }

 public void note() {
 Date date = new Date();
 System.out.println("===============宠物商店销售记录清单===============");
 System.out.println("Kind  Color  Age  Sex  InPrice  OutPrice");
 for(int i = 0; i < pets.length; i++) {
  if(pets[i] != null) {
  System.out.println(pets[i].getKind() + "\t" + pets[i].getColor() + "\t" + pets[i].getAge() + "\t" + pets[i].getSex() + "\t" + pets[i].getInPrice() + "\t" + pets[i].getOutPrice());
  }
 }
 System.out.println("=================================================");
 System.out.println("date:     " + date);
 }

 public void profitNote() {
 Date date = new Date();
 System.out.println("===========宠物商店盈利情况===========");
 double cost = 0.0;
 double income = 0.0;
 double myProfit = 0.0;
 for(int i = 0; i < pets.length; i++) {
  if(pets[i] != null) {
  cost += pets[i].getInPrice();
  income += pets[i].getOutPrice();
  }
 }
 myProfit = income - cost;
  System.out.println("成本:" + cost + "\n" + "总收入:" + income + "\n" + "利润:" + myProfit);
 if(myProfit > 0) {
    System.out.println("恭喜,您的店处于盈利状态!");
 }
 else {
  System.out.println("很遗憾,您的店处于亏损状况!");
 }
 System.out.println("=======================================");
 System.out.println("date:   " + date);
 }

 public int getOutNum() {
 return outNum;
 }

 public int getInNum() {
 return inNum;
 }

 public int getNum() {
 return num;
 }
}

Main类

import java.util.Scanner;
public class Main {
 public static void main(String[] args) {
 Scanner input = new Scanner(System.in);
 PetsStore store = new PetsStore(100);

 System.out.print("请为您的宠物商店取个名字:");
 store.setName(input.nextLine());
 System.out.println("您好!" + store.getName() + "的店长,欢迎使用宠物商店管理系统!");

 String choice = "1";

 while(choice.equals("0") == false) {
  System.out.println("==========宠物商店管理系统==========");
  System.out.println("1.查看库存\n" + "2.添加宠物\n" + "3.出售宠物\n" + "4.查看盈利\n" + "5.销售记录\n" + "0.退出程序");
  System.out.println("===================================");
  System.out.print("请输入你的选择:");
  choice = input.next();

  switch(choice) {
    case "1":
    store.print();
    System.out.println("请问您还需要什么服务?");
    break;

    case "2":
    String choice1 = "1";
    do {
     store.add();
     System.out.println("是否继续添加?\n" + "1.是       2.否");
     choice1 = input.next();
    } while(choice1.equals("1"));
    System.out.println("请问您还需要什么服务?");
    break;

    case "3":
    String choice2 = "1";
    do {
     store.sell();
     System.out.println("是否继续出售?\n" + "1.是       2.否");
     choice2 = input.next();
    } while(choice2.equals("1"));
    System.out.println("请问您还需要什么服务?");
    break;

    case "4":
    store.profitNote();
    System.out.println("请问您还需要什么服务?");
    break;

    case "5":
    store.note();
    System.out.println("请问您还需要什么服务?");
    break;

    case "0":
    System.out.println("谢谢您的使用,欢迎下次再来!\n" + "**********按任意键结束程序**********");
    break;

    default:
    System.out.println("错误输入, 请重新输入!");
    break;
  }

 }
 }

}

没用很复杂的容器类,只适合萌新看的,大佬勿喷,完成作业还是不错的。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • jdbc实现宠物商店管理系统

    用jdbc实现宠物商店管理系统 1.开发语言:Java 2.开发工具:eclipse,MySql数据库 3.开发环境:jdk1.8 4.操作系统:win10 这里是运行图片,代码在图片下面 这里是主程序测试类Test // Main package petStore1; public class Test { public static void main(String[] args) { System.out.println("宠物商店启动"); PetManage pm=new P

  • Java实现宠物商店管理

    本文实例为大家分享了Java实现宠物商店管理的具体代码,供大家参考,具体内容如下 第一种实现方式:抽象类和对象数组 public abstract class AbstractPet //定义宠物模板 { private String name; //名称 private String color; //颜色 private int age; //年龄 public AbstractPet(){} public AbstractPet(String name, String color, int

  • Java实现宠物商店管理系统

    本文实例为大家分享了Java实现宠物商店管理系统的具体代码,供大家参考,具体内容如下 一.实验目的 1.掌握java类的继承.多态等的基本概念: 2.掌握简单的信息管理系统的设计与实现. 二.实验环境 实验建议在安装了以下软件的计算机上完成: 1. Windows xp/win7/win8/win10操作系统 2. JDK 1.6以上版本 3. Eclipse或NetBeans IDE或EditPlus或其它开发工具 三.实验内容与要求 (一) 问题描述 要求采用java面向对象的基本知识,实现

  • C++实现宠物商店信息管理系统

    本文实例为大家分享了C++实现宠物商店信息管理系统的具体代码,供大家参考,具体内容如下 一.问题描述 设计一个程序实现对小动物商店的简单管理,主要功能:宠物基本信息(编号,名称,体重, 年龄,类别,价格,性格等)的输入.显示.查询等功能:宠物的交易.状态及顾客(宠物主人)的记录查询和修改. 二.基本要求 (1)使用面向对象思想开发需要的类,比如:宠物类包含宠物的基本属性信息和基本操作,日期类记录交易日期,顾客类记录顾客的信息:管理类,实现对宠物情况的操作:输入和输出的操作要求对输出运算符“>>

  • Springboot实例讲解实现宠物医院管理系统流程

    项目编号:BS-XX-098 本系统前台面向的用户是客户,客户可以进行预约.浏览医院发布的文章.进入医院商城为宠物购物.如有疑问可以向官方留言.还可以查看关于自己的所有记录信息,如:看病记录.预约记录.疫苗注射记录等.后台面向的用户是医院人员,系统管理员拥有最高权限,可以对所有数据进行管理,为所有的角色分配权限以及创建角色:业务管理员的权限主要是对一些常用数据的维护:医生可以接受客户发布的预约医生的预约单以及处理属于自己的预约单,回答客户的问诊:美容师可以接受客户发布的预约美容的预约单以及处理属

  • java实现水果超市管理系统

    本文为大家分享了java实现水果超市管理系统的具体代码,供大家参考,具体内容如下 首先建立水果类的界面 public class Fruit { //定义ID private String id; //定义名称 private String name; //定义价格 private int price; //定义单位 private String unit; //定义数量 private int number; public Fruit(String id, String name, int p

  • java实现科研信息管理系统

    一.前言 本学期学习了JAVA语言,在学期的结束,写一个有操作界面,与数据库关联的管理系统,用来巩固自己本学习所学的知识. 用到的知识:JAVA基础,JAVA界面设计(GUI),Oracle数据库(需要掌握数据库的基本操作语句),链接数据库. 使用的开发工具:MyEclipse Professional 2014 二.设计 我们管理的属性有:项目编号,项目名称,参与人员,负责人,项目开始时间,结束时间.科研项目系统主要有四个功能,对科研项目的增加.删除.修改.查询.以及为增加系统安全性所设计的登

  • Java swing实现酒店管理系统

    今天给大家提供一个由今天给大家提供一个由Java swing实现的酒店管理系统,数据库采用sqlserver,我会贴上部分代码,完整的代码请看文章最下方下载,下面看代码: 1.主框架代码: package 主框架窗口; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.event.ActionEven

  • java控制台输出图书馆管理系统

    java控制台输出图书馆管理系统(只用java代码不用数据库和GUI,java入门的新手秒懂) 在个项目中,我只用数组保存数据,和只用for循环和if条件语句来完成,连数组工具类都没用,所以导致要用到很多的条件语句,虽然比较局限,但可以让新手快速体验一下做小项目的乐趣,也可以练练for和if这些语句,练练一下它们之间嵌套的逻辑关系等,因为时间有限所以没有去优化了,主要还是让新手们体验下做java项目的面向对象编程思想(OOP),给新手们体验一下做项目的乐趣,嘿嘿! 话不多说了,直接切入正题. 设

  • Java实现酒店客房管理系统

    本文实例为大家分享了Java实现酒店客房管理系统的具体代码,供大家参考,具体内容如下 LoginFrame.java package loginManage; import java.awt.Color; import java.awt.EventQueue; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing

随机推荐