案例介绍:

模拟真实的库存管理逻辑,完成超市管理系统的日常功能实现,见下图

案例需求分析:

根据案例介绍,我们进行分析,首先需要一个功能菜单,然后输入功能序号后,调用序号对应的功能方法,实现想要的操作。分析步骤如下

1.完成超市商品初始化。创建商品,将商品添加到集合

2.显示来到超市能做的操作,也就是显示主菜单

3.根据接收到的功能选项,执行对应的功能

3.1.库存货物查询

3.2.添加新货物

3.3.删除货物

3.4.修改货物

3.5.退出系统,结束main方法的运行

4.循环,回到 2.显示主菜单

实现代码步骤:

每种库存商品都拥有多项商品信息,为了方便管理每种商品的信息,我们对商品信息进行封装,编写FruitItem.java文件

public classFruitItem {int ID; //商品编号

String name;//商品名称

double price; //商品单价

}

上述代码中,对商品信息(编号、名称、单价、数量、金额)进行了封装。这样做的好处在于以后只要找到这个商品,就能够知道该商品的每项信息了。

编写FruitStore.java,完成如下功能:

//编写main主方法

public static voidmain(String[] args) {//定义数组,记录每个商品信息

ArrayList list = new ArrayList();/** 1.超市商品初始化*/init(list);while(true){/** 2.显示主菜单*/mainMenu();/** 3.根据接收到的功能选项,执行对应的功能*/chooseFunction(list);

}

}

上述代码中,通过while(true)循环,完成用户调用不同功能。实现重复功能选择操作。

1.超市商品初始化,创建商品,将商品添加到集合

public static void init(ArrayListlist) {

FruitItem item= newFruitItem();

item.name= "少林寺酥饼核桃";

item.ID= 9001;

item.price= 120.0;

FruitItem item2= newFruitItem();

item2.name= "尚康杂粮牡丹饼";

item2.ID= 9002;

item2.price= 20.0;

FruitItem item3= newFruitItem();

item3.name= "新疆原产哈密瓜";

item3.ID= 9003;

item3.price= 7.0;

list.add(item);

list.add(item2);

list.add(item3);

}

上述代码中,完成商品集合的初始化操作,添加了3件商品。

2.显示来到超市能做的操作,也就是显示主菜单

public static voidmainMenu() {

System.out.println("=========================欢迎光临itcast超市=========================");

System.out.println("1:查询货物 2:添加新货物 3:删除货物 4:修改货物");

System.out.println("5:退出系统");

}

上述代码,用来完成用户操作界面的显示。

3.根据接收到的功能选项,执行对应的功能

public static void chooseFunction(ArrayListlist) {

System.out.println("请您输入要操作的功能序号:");

Scanner sc= new Scanner(System.in);//键盘输入对象

String choose=sc.next();//根据接收到的选择,执行对应的功能

switch(choose) {case "1": //3.1.库存货物查询

showFruitList(list);break;case "2": //3.2.添加新货物

addFruitItem(list);break;case "3": //3.3.删除货物

delFruitItem(list);break;case "4": //3.4.修改货物

updateFruitItem(list);break;case "5": //3.5.退出系统,退出JVM

System.out.println("退出系统");return;default:

System.out.println("对不起,没有您输入的功能,请重新选择");break;

}

}

上述代码中,参数list为库存商品集合。当键盘输入功能序号后,通过switch语句匹配后,调用对应的方法完成对应功能的实现。

3.1.库存货物查询

public static void showFruitList(ArrayListlist) {

System.out.println("=======================商品库存清单=======================");

System.out.println("商品编号\t商品名称\t\t商品单价");//查询每种库存商品信息

for (int i = 0; i < list.size(); i++) {

FruitItem item=list.get(i);

System.out.println(item.ID+ "\t" + item.name + "\t" +item.price);

}

}

上述代码中,用来查询所有库存商品信息。

3.2.添加新货物

public static void addFruitItem(ArrayListlist) {//创建新获取对象

FruitItem newItem= newFruitItem();

Scanner sc= new Scanner(System.in);//键盘输入对象//提示输入信息

System.out.print("请输入新水果的名称:");

newItem.name=sc.next();

System.out.print("请输入新水果的编号:");

newItem.ID=sc.nextInt();

System.out.print("请输入新水果单价:");

newItem.price=sc.nextDouble();//向货物集合中添加新的物品项

list.add(newItem);

}

上述代码中,通过键盘录入,将录入的商品信息存储到库存商品集合中。

3.3.删除货物

public static void delFruitItem(ArrayListlist) {

System.out.print("请输入您要删除的水果编号:");

Scanner sc= new Scanner(System.in);//键盘输入对象

int fruitID =sc.nextInt();//删除集合元素

for (int i = 0; i < list.size(); i++) {

FruitItem thisItem=list.get(i);if(thisItem.ID ==fruitID) {

list.remove(thisItem);

System.out.println("水果信息删除完毕!");return;

}

}

System.out.println("对不起,没有这个编号的水果!");

}

上述代码中,通过键盘录入,在库存集合中查找对应的商品编号,如果找到该商品,将该商品删除,否则,提示没有这个编号的商品。

3.4.修改货物

public static void updateFruitItem(ArrayListlist) {

System.out.println();

System.out.print("请输入您要修改信息的水果编号:");

Scanner sc= new Scanner(System.in);//键盘输入对象

int fruitID =sc.nextInt();//更新集合元素

for (int i = 0; i < list.size(); i++) {

FruitItem thisItem=list.get(i);if(thisItem.ID ==fruitID) {

System.out.print("请输入新的水果ID:");

thisItem.ID=sc.nextInt();

System.out.print("请输入新的水果名称:");

thisItem.name=sc.next();

System.out.print("请输入新的水果单价:");

thisItem.price=sc.nextDouble();

System.out.println("水果信息更新完毕!");return;

}

}

System.out.println("对不起,没有这个编号的水果!");

}

上述代码中,通过键盘录入,在库存集合中查找对应的商品编号,如果找到该商品,则键盘录入修改商品信息,否则,提示没有这个编号的商品。

超市库存java管理系统_Java案例:超市库存管理系统相关推荐

  1. java中交通灯管理系统_java案例--交通灯管理系统学习

    一.需求分析 刚接到一个项目或者面试题(总之是一个相对比较复杂的问题时),应该对认真阅读问题的 要求和描述,并通过对这些的分析进行抽象,通过一个个对象的方式来考虑自己的程序该 怎么写.所以,首先来看看 ...

  2. java人事管理系统_Java课程设计——人事管理系统

    1 packagePersonSystem;2 3 import java.awt.*;4 import java.awt.event.*;5 import javax.swing.*;6 impor ...

  3. java书店库存系统论文_JAVA论文网上书店管理系统优秀毕业论文

    JAVA论文网上书店管理系统优秀毕业论文 沈阳航空工业学院毕业设计(论文)I网上书店系统院 系专 业班 级学 号姓 名指导教师负责教师沈阳航空工业学院毕业设计(论文)II摘 要20 世纪末,随着计算机 ...

  4. 把超市系统连接到java数据库_Java项目 超市管理系统(二)数据库的分析与建立...

    项目是在网上找的,后面我会附上项目的链接. 需求:建立一个简易的超市管理系统数据库 分析:超市数据库中肯定有一个商品表,有一个管理员表,还有一个销售表.这样一个基本的超市数据库雏形就有了.下面开始构建 ...

  5. java 打折_Java 为超市打折水果编写一个购物程序

    (1)抽象父类Fruit,包含以下属性和方法: a)一个int类型的成员变量unitPrice,存放单价,单位为元/千克; b)一个int类型的成员变量amount,存放重量,单位为千克. c)一个d ...

  6. java宠物商店管理系统_Java实现宠物商店管理系统

    Java实现宠物商店管理系统,宠物,宠物商店,数组,您的,还需要 Java实现宠物商店管理系统 易采站长站,站长之家为您整理了Java实现宠物商店管理系统的相关内容. 本文实例为大家分享了Java实现 ...

  7. java 人事_java版简易人事管理系统

    [实例简介] 通过对java的学习.用开发工具开发的一款简易人事管理系统 [实例截图] [核心代码] 386393HMSs └── HMSs ├── bin │   ├── com │   │   └ ...

  8. java中的JDBC用户管理系统_Java+JDBC学生信息管理系统

    base包下: package base; import java.sql.ResultSet; import java.sql.SQLException; import dao.AdminDAO; ...

  9. java web信息管理系统_Java web学生信息管理系统

    [实例简介] 基于Jsp&servlet;+JavaBean的学生信息管理系统,实现了学生成绩.课程.教师的管理 [实例截图] [核心代码] Javaweb学生信息管理系统 └── Java ...

  10. swing java管理系统_Java swing实现酒店管理系统

    packagecom.sunshine.setup;import javax.swing.*;import javax.swing.border.*;import javax.swing.table. ...

最新文章

  1. SharePoint运行状况分析器有关磁盘空间不足的警告
  2. 复旦肖仰华:领域知识图谱落地实践中的问题与对策
  3. OpenCV图像颜色模型转换:cvtColor函数的使用
  4. dhtml是基于html的一门语言,什么是DHTML
  5. mysql5.7 solo web服务器
  6. Loadrunner--运行场景报Socket descriptor not found错误
  7. 小米2s回退出厂版本_雷军很高兴,小米出货量升至全球第四
  8. PRD:「FITLIFE」小程序产品需求文档(用户端)
  9. 将PHP作为Shell脚本语言使用
  10. 据说,很多搞科研的硕博生,都容易产生以下20个错觉,看看你中了几枪?
  11. 10 个学习iOS开发的最佳网站(转)
  12. JavaBean实现简单登录功能
  13. Word字体间距变大
  14. 错误: 找不到或无法加载主类 org.sang.BlogserverApplication
  15. C语言解决三色旗问题
  16. 使用sql语句在命令行下载mysql表格数据
  17. win11提示找不到gpedit.msc命令
  18. 写学习心得,赢华为P30、漫步者音响!
  19. 一个海底隧道中只有一个车道,规定同一个方向的可以连续过隧道。某方向有列车过隧道时,另一个方向的列车就要等待, 现在东岸和西岸都有列车要过隧道,如果把每个过隧道的列车看作一个进程,使用P、V操作
  20. 前端如何获取电池信息?

热门文章

  1. 输出200以内所有素数(python)
  2. Python:1004 成绩排名
  3. 计算机控制教师端,摆脱学校机房教师端控制的方法汇总
  4. docker安装gamit_Ubuntu 14.04下Gamit10.5安装
  5. 关于计算机学院 公众号的名字,好听的公众号名称大全
  6. 公众号封面图内容数据提取软件
  7. excel如何让日期/时间增加指定分钟、小时、日
  8. eth java_eth钱包开发--java(附带eth离线交易工具类)
  9. mac php71 php fpm,Mac PHP-fpm
  10. 停下来想一想:你为什么会离开游戏行业?