java实现超市商品库存管理平台
作者:超级圈 发布时间:2022-05-25 10:09:20
标签:java,商品库存,管理平台
本文实例为大家分享了java商品库存管理平台的具体代码,供大家参考,具体内容如下
1.完成超市商品初始化。创建商品,将商品添加到集合
2.显示来到超市能做的操作,也就是显示主菜单
3.根据接收到的功能选项,执行对应的功能
3.1.库存商品查询
3.2.添加新商品
3.3.删除商品
3.4.修改商品
3.5.退出系统,结束main方法的运行
4.循环,回到 2. 显示主菜单
以添加水果为例:对商品信息进行封装,编写FruitItem.java文件
public class FruitItem {
int ID; //商品的ID
String name; //商品的名称
double price; //商品的单价
}
编写market.java,完成功能:
public class market {
public static void main(String[] args) {
System.out.println("=========系统开始!=========");
ArrayList<FruitItem> list = new ArrayList<>();
//调用商品初始化方法,传递集合
init(list);
while (true) {
//打印菜单
mainMenu();
//功能选择
chooseFun(list);
}
}
//商品初始化
public static void init(ArrayList<FruitItem> list) {
FruitItem item1 = new FruitItem();
item1.ID = 001;
item1.name = "柚子";
item1.price = 5.0;
FruitItem item2 = new FruitItem();
item2.ID = 002;
item2.name = "芒果";
item2.price = 8.8;
FruitItem item3 = new FruitItem();
item3.ID = 003;
item3.name = "橙子";
item3.price = 6.6;
list.add(item1);
list.add(item2);
list.add(item3);
}
//打印菜单
public static void mainMenu() {
System.out.println("========= 欢迎光临超市 ========");
System.out.println("1:查询货物 2:添加货物 3:删除货物 4:修改货物 5:退出");
}
//功能选择
public static void chooseFun(ArrayList<FruitItem> list) {
Scanner sc = new Scanner(System.in);
System.out.print("输入您选择的功能:");
int choose = sc.nextInt();
switch (choose) {
case 1:// 库存查询
showList(list);
break;
case 2:// 添加库存
addList(list);
break;
case 3:// 删除商品
delList(list);
break;
case 4:// 修改商品
editList(list);
break;
case 5: // 退出系统
System.out.println("退出系统");
return;
default:
System.out.println("对不起,没有您输入的功能,请重新选择");
break;
}
}
//库存查询
public static void showList(ArrayList<FruitItem> list) {
System.out.println("=============商品库存清单=============");
System.out.println("商品编号\t商品名称\t商品单价");
for (int i = 0; i < list.size(); i++) {
FruitItem item = list.get(i);
System.out.println(item.ID +"\t\t"+item.name + "\t\t" + item.price);
}
}
//添加库存
public static void addList(ArrayList<FruitItem> list) {
FruitItem item = new FruitItem();
Scanner sc = new Scanner(System.in);
System.out.print("请输入商品编号:");
item.ID = sc.nextInt();
System.out.print("请输入商品名称:");
item.name = sc.next();
System.out.print("请输入商品价格:");
item.price = sc.nextDouble();
list.add(item);
}
//删除商品
public static void delList(ArrayList<FruitItem> list) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入需要删除商品的编号");
int num = sc.nextInt();
for (int i = 0; i < list.size(); i++) {
FruitItem item = list.get(i);
if (item.ID == num) {
list.remove(item);
return;
}
}
System.out.println("对不起,没有这个编号的商品。");
}
//修改商品
public static void editList(ArrayList<FruitItem> list) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入要修改商品的编号:");
int num = sc.nextInt();
for (int i = 0; i < list.size(); i++) {
FruitItem item = list.get(i);
if (item.ID == num) {
System.out.print("请输入新的商品ID:");
item.ID = sc.nextInt();
System.out.print("请输入新的商品名称:");
item.name = sc.next();
System.out.print("请输入新的商品单价:");
item.price = sc.nextDouble();
System.out.println("商品信息更新完毕!");
return;
}
}
System.out.println("对不起,没有这个编号的商品。");
}
}
来源:https://blog.csdn.net/weixin_44953364/article/details/102682180


猜你喜欢
- Result可以设定全局结果集,如:<struts> <constant name="struts
- 通过程序自动的读取其它网站网页显示的信息,类似于爬虫程序。比方说我们有一个系统,要提取BaiDu网站上歌曲搜索排名。分析系统在根据得到的数据
- 首先为大家介绍Andorid5.0原生下拉刷新简单实现。先上效果图;相对于上一个19.1.0版本中的横条效果好看了很多。使用起来也很简单。
- Lambda,希腊字母λ,在C#编程语言中,被引入为Lambda表达式,表示为匿名函数(匿名方法)。编程时离不开函数,
- 目录1 Semaphore的主要方法2 实例讲解实现单例模式3 源码解析构造方法获取许可释放许可减小许可数量获取剩余许可数量前言:Semap
- 相信很多人在读取文件的时候都会碰到乱码的情况,所谓乱码就是错乱的编码的意思,造成乱码的是由于编码不一致导致的。演示程序:新建3个文本文件:编
- 1.预警需求为了更好的管理商品日期,需要对仓库的商品进行预警管理,对商品的保质期控制在一个范围内提示出来,也可以通过该功能间接的展示出一个商
- Android开发中有时需要在应用中或进程间传递对象,下面详细介绍Intent使用Bundle传递对象的方法。被传递的对象需要先实现序列化,
- 算法思想快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一种分治的策略,通常称其为分治法(Divide-and-
- 目录配置创建OkHttpClient同步get请求异步get请求同步post请求异步post请求上传文件表单提交下面是官网给出的OKHTTP
- 一、什么是 RestTemplate?RestTemplate是执行HTTP请求的同步阻塞式的客户端,它在HTTP客户端库(例如JDK Ht
- App Crash对于用户来讲是一种最糟糕的体验,它会导致流程中断、app口碑变差、app卸载、用户流失、订单流失等。相关数据显示,当And
- 堆排序是一种树形选择排序方法,它的特点是:在排序的过程中,将array[0,...,n-1]看成是一颗完全二叉树的顺序存储结构,利用完全二叉
- 初学线程时,总是将 run 方法和 start 方法搞混,虽然二者是完全不同的两个方法,但刚开始使用时很难分清,原因就是因为初次使用时效果貌
- 一、需要导入的jar1.commons-collections4-4.1.jar2.poi-3.17-beta1.jar3.poi-ooxm
- 本文实例为大家分享了java简单实现斗地主发牌的具体代码,供大家参考,具体内容如下问题:参考斗地主的游戏规则,完成一个发牌的功能(54张牌,
- 一、作用:随机流(RandomAccessFile)不属于IO流,支持对文件的读取和写入随机访问。二、随机访问文件原理: 首先把随机访问的文
- 前言Kafka是现在非常热门的分布式消息队列,常用于微服务间异步通信,业务解耦等场景。kafka的性能非常强大,但是单个微服务吞吐性能是有上
- 首先不得不提到access_token的分类,一是普通access_token,二是网页授权access_token。其中前者是用于调用微信
- 棋牌类游戏是目前比较火的游戏之一。今天本文就以实例形式实现洗牌游戏。本文实例所采用的算法是:遍历每个位置上的牌,然后与随机位置上的牌交换。运