热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

Java实现宠物商店管理系统

这篇文章主要为大家详细介绍了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  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;
 }
 
 }
 }
 
}

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

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


推荐阅读
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 如何实现JDK版本的切换功能,解决开发环境冲突问题
    本文介绍了在开发过程中遇到JDK版本冲突的情况,以及如何通过修改环境变量实现JDK版本的切换功能,解决开发环境冲突的问题。通过合理的切换环境,可以更好地进行项目开发。同时,提醒读者注意不仅限于1.7和1.8版本的转换,还要适应不同项目和个人开发习惯的需求。 ... [详细]
  • 本文介绍了一种图片处理应用,通过固定容器来实现缩略图的功能。该方法可以实现等比例缩略、扩容填充和裁剪等操作。详细的实现步骤和代码示例在正文中给出。 ... [详细]
  • 本文介绍了在Ubuntu 11.10 x64环境下安装Android开发环境的步骤,并提供了解决常见问题的方法。其中包括安装Eclipse的ADT插件、解决缺少GEF插件的问题以及解决无法找到'userdata.img'文件的问题。此外,还提供了相关插件和系统镜像的下载链接。 ... [详细]
  • 项目运行环境配置及可行性分析
    本文介绍了项目运行环境配置的要求,包括Jdk1.8、Tomcat7.0、Mysql、HBuilderX等工具的使用。同时对项目的技术可行性、操作可行性、经济可行性、时间可行性和法律可行性进行了分析。通过对数据库的设计和功能模块的设计,确保系统的完整性和安全性。在系统登录、系统功能模块、管理员功能模块等方面进行了详细的介绍和展示。最后提供了JAVA毕设帮助、指导、源码分享和调试部署的服务。 ... [详细]
  • android ... [详细]
  • 安卓及谷歌官网不容易上,在此整理好下载地址,这样就可以直接用迅雷下载了。Eclipse最新Mars版Eclipse(暂时还没被墙)Mac版:http:www.eclipse.org ... [详细]
  • 处理docker容器时间和宿主机时间不一致问题的方法
    本文介绍了处理docker容器时间和宿主机时间不一致问题的方法,包括复制主机的localtime到容器、处理报错情况以及重启容器的步骤。通过这些方法,可以解决docker容器时间和宿主机时间不一致的问题。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • Tomcat/Jetty为何选择扩展线程池而不是使用JDK原生线程池?
    本文探讨了Tomcat和Jetty选择扩展线程池而不是使用JDK原生线程池的原因。通过比较IO密集型任务和CPU密集型任务的特点,解释了为何Tomcat和Jetty需要扩展线程池来提高并发度和任务处理速度。同时,介绍了JDK原生线程池的工作流程。 ... [详细]
  • 本文介绍了Java的集合及其实现类,包括数据结构、抽象类和具体实现类的关系,详细介绍了List接口及其实现类ArrayList的基本操作和特点。文章通过提供相关参考文档和链接,帮助读者更好地理解和使用Java的集合类。 ... [详细]
  • 本文介绍了电流源并联合并的方法,以及谐振电路的原理。谐振电路具有很强的选频能力,通过将电感和电容连接在一起,电流和电压会产生震荡。谐振频率的大小取决于电感和电容的大小,而电路中的电阻会逐渐降低震荡的幅度。电阻和电容组成的电路中,当电容放完电后,电阻两端的电压为0,电流不再流过电容。然而,电感是一种特殊的器件,当有电流流过时,线圈会产生感应磁场,阻止电流的流动,从而使电流不会减小。 ... [详细]
  • 标题: ... [详细]
  • 芝兰生于幽谷,不因无人而不芳随想的夜晚2013822
    为什么80%的码农都做不了架构师?昨晚和今晚敲完了string.py的源代码,有两个类看不懂:Template和Formatter& ... [详细]
  • 前一天学习了视图按键事件的监听。首先新建了一个自定义的视图,在自定义视图中,重新编了其构造函数和onDraw()方法。之后将该视图用于应用程序,最后添加该视图的按键监听器,在监听器中对KeyEvent ... [详细]
author-avatar
少钧13
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有