java练习小项目

题目如下:
1. 商店中,进货员进货(列出能够进货的食品,进货员选择进货的食品,确定进货的数量),进货结束后, 列出进货的食品清单
2. 商店中,售货员售货,顾客来购买食品(列出能够购买的食品,顾客选择购买的食品,确定购买食品的数量),购买结束后,列出顾客的购物清单
3. 顾客吃食品(列出能够吃的食品,顾客选择吃的食品,确定吃食品的数量),吃完后,把剩余的食品列出
要求:处理异常,程序要正常执行,分包明确
设计:
Shop类:有食品数组Food[],进货员Stocker,售货员Saler
进货员类(Stocker):进货方法
食品类(Food):食品名称、食品数量
以下食品至少有两种
梨(Pear extends Food):

苹果(Apple extends Food):
售货员类(Saler):售货方法
父亲(顾客Father):Food[]属性,吃的方法
儿子(Son extends Father):吃的方法

**模块及项目包图片:
**
Apple:

package no1.customer.goods;public class Apple extends no1.goods.Foods
{public Apple(){super();}public Apple(String name, int num){super(name, num);}}

Foods:

package no1.goods;public class Foods
{String name;int num;public Foods() {super();}public Foods(String name, int num) {super();this.name = name;this.num = num;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getNum() {return num;}public void setNum(int num) {this.num = num;}public void add(int amount){this.num+=amount;}public void min(int amount){this.num-=amount;}}

Newshop:

package no1.customer.goods;import java.util.Scanner;
import no1.customer.*;public class Newshop
{no1.goods.Foods[] food= {new no1.goods.Foods("红富士",0), new no1.goods.Foods("雪梨",0)};public void stock(){while (true){System.out.println("商店现存货有" + "1.Apple" + food[0].getName() + ":" + food[0].getNum() + "," + "2.Pear"+ food[1].getName() + ":" + food[1].getNum() + "退出请输入:3.Exit");Scanner scan = new Scanner(System.in);String name = scan.next();try{if ("1".equals(name) || "Apple".equalsIgnoreCase(name)) {System.out.println("请输入要进货的数量");String num = scan.next();int amount = Integer.parseInt(num);food[0].add(amount);} else if ("2".equals(name) || "Pear".equalsIgnoreCase(name)) {System.out.println("请输入要进货的数量");String num = scan.next();int amount = Integer.parseInt(num);food[1].add(amount);} else if ("3".equals(name) || "Exit".equalsIgnoreCase(name)) {break;}}catch (NumberFormatException e){System.out.println("输入不匹配,请重新输入");}}}public void sell(Father fa){/*Foods[] f=new Foods[2];fa.setFood(f);*/no1.goods.Foods[] f=fa.getFood();while (true) {System.out.println("您好,欢迎光临小店");System.out.println("商店现存货有" + "1.Apple" + food[0].getName() + ":" + food[0].getNum() + "," + "2.Pear"+food[1].getName() + ":" + food[1].getNum() + "退出请输入:3.Exit");Scanner scan = new Scanner(System.in);String name = scan.next();try {if ("1".equals(name) || "Apple".equalsIgnoreCase(name)) {System.out.println("请输入要买的数量");String num = scan.next();int amount = Integer.parseInt(num);if(amount>food[0].getNum()){System.out.println("超出我们的库存,请重新输入");continue;}food[0].min(amount);f[0].add(amount);} else if ("2".equals(name) || "Pear".equalsIgnoreCase(name)) {System.out.println("请输入要买的数量");String num = scan.next();int amount = Integer.parseInt(num);if(amount>food[1].getNum()){System.out.println("超出我们的库存,请重新输入");continue;}food[1].min(amount);f[1].add(amount);} else if ("3".equals(name) || "Exit".equalsIgnoreCase(name)) {break;}} catch (NumberFormatException e) {System.out.println("输入不匹配,请重新输入");}}}}

Pear:

package no1.customer.goods;
import java.util.Scanner;import no1.customer.*;
import no1.goods.Foods;public class Shop
{private static int appleNum=0;private static int pearNum=0;no1.goods.Foods[] food= {new no1.goods.Foods("红富士",0), new no1.goods.Foods("雪梨",0)};public void stock(){System.out.println("商店现存货有"+"1"+food[0].getName()+":"+food[0].getNum()+","+"2"+food[1].getName()+":"+food[1].getNum()+"        "+"退出请输入:exit");while(true){Scanner scan=new Scanner(System.in);String s=scan.nextLine();switch(s){case "1":System.out.println("请输入你要进货的红富士的数量");int num1=scan.nextInt();food[0].setNum(appleNum+=num1);System.out.println("商店现存货有"+"1"+food[0].getName()+":"+food[0].getNum()+","+"2"+food[1].getName()+":"+food[1].getNum());break;case "2":System.out.println("请输入你要进货的雪梨的数量");int num2=scan.nextInt();food[1].setNum(pearNum+=num2);System.out.println("商店现存货有"+"1"+food[0].getName()+":"+food[0].getNum()+","+"2"+food[1].getName()+":"+food[1].getNum());break;case "exit":return;}}}public void sell(Father fa){Foods[] e = fa.getFood();System.out.println("您好,欢迎光临小店!");System.out.println("商店现存货有"+"1"+food[0].getName()+":"+food[0].getNum()+","+"2"+food[1].getName()+":"+food[1].getNum()+"        "+"退出请输入:exit");int num1=0;int num2=0;while(true){Scanner scan=new Scanner(System.in);String s=scan.nextLine();switch(s){case"1":System.out.println("请输入你要买的红富士的数量");num1=scan.nextInt();if (num1>food[0].getNum()){System.out.println("超出我们的库存");break;}food[0].setNum(appleNum-=num1);e[0].setNum(num1);System.out.println("商店现存货有"+"1"+food[0].getName()+":"+food[0].getNum()+","+"2"+food[1].getName()+":"+food[1].getNum()+"        "+"退出请输入:exit");break;case"2":System.out.println("请输入你要买的红富士的数量");num2=scan.nextInt();if (num2>food[1].getNum()){System.out.println("超出我们的库存");break;}food[0].setNum(pearNum-=num2);e[1].setNum(num2);System.out.println("商店现存货有"+"1"+food[0].getName()+":"+food[0].getNum()+","+"2"+food[1].getName()+":"+food[1].getNum()+"        "+"退出请输入:exit");break;case "exit":System.out.println("您买的商品:");System.out.println("Apple:"+num1+",Pear:"+num2);return;}}}}

Test:

package no1.customer.test;import no1.customer.*;
import no1.customer.goods.Newshop;public class Test
{public static void main(String[] args){Newshop s=new Newshop();Father fa=new Father();s.stock();s.sell(fa);fa.eat();Son son=new Son();son.setFood(fa.getFood());System.out.println("儿子准备吃东西");son.eat();son.surplus();}}

Father:

package no1.customer;import no1.goods.Foods;import java.util.Scanner;public class Father
{no1.goods.Foods[] food= {new no1.goods.Foods("红富士",0), new no1.goods.Foods("雪梨",0)};public Foods[] getFood() {return food;}public void setFood(Foods[] food) {this.food = food;}public void eat(){int num1=food[0].getNum();int num2=food[1].getNum();while (true) {System.out.println("现在手上有1.Apple红富士:" + food[0].getNum() + "     2.Pear雪梨:" + food[1].getNum());System.out.println("吃什么呢?1.apple     2.pear      不吃3.full");Scanner scan = new Scanner(System.in);String name = scan.next();try{if ("1".equals(name) || "apple".equalsIgnoreCase(name)){System.out.println("要吃多少苹果呢");String num = scan.next();int amount = Integer.parseInt(num);if (amount > food[0].getNum()){System.out.println("没有这么多苹果");continue;}food[0].setNum(num1-=amount);}if("2".equals(name)||"pear".equals(name)){System.out.println("要吃多少梨子呢");String num=scan.next();int amount=Integer.parseInt(num);if (amount > food[1].getNum()){System.out.println("没有这么多梨子");continue;}food[1].setNum(num2-=amount);}else if("3".equals(name)||"full".equals(name)){break;}}catch(NumberFormatException e){System.out.println("输入不匹配,请重新输入");}}}}

Son:

package no1.customer;public class Son extends Father
{public void surplus(){System.out.println("爸爸手上还剩余苹果:"+food[0].getNum()+"     梨子:"+food[1].getNum());}}

Java基础小项目shopping相关推荐

  1. java基础小项目_java基础小项目练习之1----3天做出飞机大战

    Shoot射击游戏第一天 一.关键问题(理论): 1.简述FlyingObject.Enemy.Award.Airplane.Bee.Bullet.Hero之间的继承与实现关系 2.简述Hero类构造 ...

  2. 超详细Java基础小项目-手把手教你制作万年历~~~自己动手试一下吧!

    任务需求 完成从控制台输入XXXX年XX月,输出该月日历. 运行效果如下图所示: 项目分析: 最难的部分就是星期的确定,已知 1900 年 1 月 1 日为星期一,计算出当前月份的 1 号距离1900 ...

  3. java 基础小项目------外卖订餐系统

    执行结果: 通过选择功能序号,执行响应的功能: 代码实现:package 外卖订餐系统; /** 代码优点,使用 循环:* 显示菜单,* 根据用户选择的数字执行相应功能(功能实现:do..while循 ...

  4. Java web小项目_个人主页(1)—— 云环境搭建与项目部署

    摘自:Java web小项目_个人主页(1)-- 云环境搭建与项目部署 作者:丶PURSUING 发布时间: 2021-03-26 23:59:39 网址:https://blog.csdn.net/ ...

  5. Java web小项目_个人主页(2)—— 边缘加速原理与实现

    摘自:Java web小项目_个人主页(2)-- 边缘加速原理与实现 作者:丶PURSUING 发布时间: 2021-03-27 14:44:40 网址:https://blog.csdn.net/w ...

  6. java吃货联盟系统源码_小项目,吃货联盟,java初级小项目,源代码

    小项目,吃货联盟,java初级小项目,源代码 1importjava.util.Scanner;23/**4* 吃货联盟订餐管理系统5*6*/7publicclassOrderingMsg {8pub ...

  7. [java]JavaSE基础小项目:校园多人畅聊系统

    这是一个基于JavaSE的小项目,从名字我们也能看出来这是个多人聊天系统.下面记录一下整个项目的功能,设计思想以及所用到的知识,大家有兴趣的话,也可以自己尝试练习一下,也算是对SE的复习. 项目名称: ...

  8. 泡椒java_吃货联盟 源代码 Java初级小项目

    今天给大家一个小的项目:吃货联盟订餐系统.项目功能也很简单:只是模拟日常的订餐流程呦,所以有错误以及功能不完善的地方大家多多包涵 O(∩_∩)O哈哈~ 首先,先展示下代码功能,代码也不是很多,就200 ...

  9. java web 图书管理系统_图书管理系统,源代码 Java初级小项目

    今天再给大家分享一个小项目:MiNi图书管理系统.用的是Java语言开发的,代码不多,大概260行左右吧,系统是实现图书的新增图书.删除图书.借阅图书.归还图书.查看图书等简单的功能(后附源代码)! ...

最新文章

  1. linux查看python pip 安装包列表和安装路径
  2. php curl 下载图片,CURL实现下载远程图片并保存到本地
  3. Wordpress安装简要说明
  4. 多条件and查询遇到的问题
  5. 无人车前轮转向分辨率校准
  6. centos7安装rabbitmq_rabbitmq v3.7.16安装部署文档
  7. 怎么判断前轮左右的位置_老司机教你如何用方向盘,判断左右车轮位置,新手司机一看就会!...
  8. 十个最好的免费杀毒软件
  9. 计算机无法装补丁,老司机教你win7 sp1补丁安装失败怎么办
  10. 电脑怎么设置微信定位服务器,电脑版微信,一个很简单的客户端,许多功能不支持...
  11. 63 Defi过后,人生第一次玩DAO----超级君【2020-08-22 2234】
  12. 考研数学:常见的初等函数求导公式以及其对应的积分公式
  13. access数据库修复
  14. docker attach退出容器,容器会停止运行的解决方法
  15. php敏感词过滤的一个方法
  16. 少儿图形编程语言哪个最好
  17. 【历史上的今天】8 月 30 日:首台通用电子计算机的发明者诞生;谷歌推出第一个涂鸦
  18. IE浏览器新建窗口session共享问题
  19. 大数据项目之电商数据仓库系统回顾
  20. fun函数主要功能是:是判断整数n 是否是“完数”。当一个数的因子之和恰好等于这个数本身时,就称这个数为“完数”。

热门文章

  1. 微信公众号开发 入手
  2. Stable Diffusion 抠图工具使用小记
  3. Openjudge:数字统计
  4. c语言编译kbhit出现问题,在VC++中运行出现error C2065: 'kbhit' : undeclared identifier,什么意思?怎么调试?...
  5. 如何在线制作gif图片?
  6. Understanding Vertica Epochs
  7. 为什么大学计算机老师不去大公司当程序员说出来你都很难敢相信
  8. 一个男人写给前女友的话。。。真心哭了
  9. 深入浅出!二叉树详解,包含C语言代码
  10. 男女人生良缘生克批意