java实现超市库存管理系统
作者:hepei_i 时间:2022-06-28 01:23:44
本文实例为大家分享了java库存管理系统的具体代码,供大家参考,具体内容如下
模拟真实的库存管理逻辑,完成超市管理系统的日常功能实现。
经过分析,首先需要一个功能菜单,然后输入所选的功能后,调用序号对应的功能方法,实现想要的操作。
具体的步骤如下:
1.完成超市商品初始化。创建商品,将商品添加到集合
2.显示来到超市能做的操作,也就是显示主菜单
3.根据接收到的功能选项,执行对应的功能
3.1.库存货物查询
3.2.添加新货物
3.3.删除货物
3.4.修改货物
3.5.退出系统,结束main方法的运行
4.循环,回到 2.显示主菜单
具体的代码实现步骤为:
1.每种库存商品都拥有多项商品信息,为了方便管理每种商品的信息,对商品信息进行封装,编写FruitItem.java文件
public class FruitItem {
// 商品号
int ID;
// 商品名字
String name;
// 单价
double price;
// 数量
int number;
// 总金额
double money;
}
2.编写Shopp.java,完成如下功能:
①主方法 主要实现集合创建、调用商品初始化、调用菜单方法、调用序号选择方法。
public static void main(String[] args) {
//创建ArrayList集合,存储商品类型,存储数据类型FruitItem类型
ArrayList<FruitItem> array = new ArrayList<FruitItem>();
//调用商品初始化方法,传递集合
init(array);
while(true){
//调用菜单方法
mainMenu();
//调用用户选择序号方法
int choose = chooseFunction();
switch (choose) {
case 1:
//调用1: 货物 清单
showFruitList(array);
break;
case 2:
//2: 添加货物
addFruit(array);
break;
case 3:
//3: 删除货物
deleteFruit(array);
break;
case 4:
//4: 修改货物
updateFruit(array);
break;
case 5:
return ;
default:
System.out.println("输入的序号没有");
break;
}
}
}
②商品初始化方法。创建方法,将商品添加到集合里去。
public static void init(ArrayList<FruitItem> array){
//创建出多个FruitItem类型,并且属性赋值
FruitItem f1 = new FruitItem();
f1.ID = 9527;
f1.name = "少林寺酥饼核桃";
f1.price = 12.7;
FruitItem f2 = new FruitItem();
f2.ID = 9008;
f2.name = "尚康杂粮牡丹饼";
f2.price = 5.6;
FruitItem f3 = new FruitItem();
f3.ID = 9879;
f3.name = "新疆原产哈密瓜";
f3.price = 599.6;
//创建的3个FruitItem类型变量,存储到集合中
array.add(f1);
array.add(f2);
array.add(f3);
}
③菜单显示方法,也就是显示具体能完成哪些操作。
public static void mainMenu(){
System.out.println();
System.out.println("============欢迎光临ItCast超市============");
System.out.println("1: 货物 清单 2: 添加货物 3: 删除货物 4: 修改货物 5: 退出");
System.out.println("请您输入要操作的功能序号");
}
④序号选择方法。 根据接收到的功能选项,执行对应的操作。
public static int chooseFunction(){
Scanner sc = new Scanner(System.in);
return sc.nextInt();
}
⑤库存货物查询
public static void showFruitList(ArrayList<FruitItem> array){
System.out.println();
System.out.println("================商品库存清单================");
System.out.println("商品编号 商品名称 商品单价");
//遍历集合
for(int i = 0 ; i < array.size(); i++){
//集合get方法,获取出每个FruitItem变量,可以使用FruitItem接受get结果
FruitItem item = array.get(i);
//变量item调用类中属性
System.out.println(item.ID+" "+item.name+" "+item.price);
}
}
⑥添加新货物
public static void addFruit(ArrayList<FruitItem> array){
System.out.println("选择的是添加商品功能");
//创建Scanner变量
Scanner sc = new Scanner(System.in);
System.out.println("请输入商品的编号");
//输入商品的编号
int ID = sc.nextInt();
//输入商品的名字
System.out.println("请输入商品的名字");
String name = sc.next();
//输入商品的单价
System.out.println("输入商品的单价");
double price = sc.nextDouble();
//创建FruitItem变量
FruitItem item = new FruitItem();
//item.属性赋值
item.ID = ID;
item.name = name;
item.price = price;
array.add(item);
System.out.println("商品添加成功");
}
⑦删除货物
public static void deleteFruit(ArrayList<FruitItem> array){
System.out.println("选择的是删除功能");
System.out.println("请输入商品的编号");
Scanner sc = new Scanner(System.in);
int ID = sc.nextInt();
//遍历集合
for(int i = 0 ; i < array.size(); i++){
//获取到每个FruitItem变量
FruitItem item = array.get(i);
//变量,调用属性ID,和用户输入的编号比较
if( item.ID == ID){
//移除集合中的元素
//集合的方法remove实现
array.remove(i);
System.out.println("删除成功");
return;
}
}
System.out.println("你输入的编号不存在");
}
⑧修改货物
public static void updateFruit(ArrayList<FruitItem> array){
System.out.println("选择的是修改功能");
System.out.println("请输入商品的编号");
Scanner sc = new Scanner(System.in);
int ID = sc.nextInt();
//遍历集合,获取每个FruitItem变量
for(int i = 0 ; i < array.size(); i++){
FruitItem item = array.get(i);
//获取FruitItem的属性ID,和用户输入的ID比较
if(item.ID == ID){
System.out.println("输入新的商品编号");
item.ID = sc.nextInt();
System.out.println("输入新的商品名字");
item.name = sc.next();
System.out.println("输入新的商品价格");
item.price = sc.nextDouble();
System.out.println("商品修改成功");
return ;
}
}
System.out.println("输入的编号不存在");
}
至此,基本上完成了各项功能,大概的运行结果为:
来源:https://blog.csdn.net/qq_41787619/article/details/79763919
标签:java,管理系统
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
完全解析Android多线程中线程池ThreadPool的原理和使用
2022-04-07 20:19:40
![](https://img.aspxhome.com/file/2023/3/106033_0s.png)
C# 对PDF文档加密、解密(基于Spire.Cloud.SDK for .NET)
2021-11-23 05:37:26
![](https://img.aspxhome.com/file/2023/4/100174_0s.png)
intellij idea使用git stash暂存一次提交的操作
2023-03-08 08:30:11
![](https://img.aspxhome.com/file/2023/5/63435_0s.jpg)
VS2019配置opencv详细图文教程和测试代码的实现
2023-07-17 13:49:31
![](https://img.aspxhome.com/file/2023/8/100298_0s.png)
使用Spring Cloud Feign作为HTTP客户端调用远程HTTP服务的方法(推荐)
2022-11-09 11:40:37
opencv利用鼠标滑动画出多彩的形状
2023-11-03 05:20:57
![](https://img.aspxhome.com/file/2023/6/94046_0s.jpg)
SpringBoot @CompentScan excludeFilters配置无效的解决方案
2022-08-01 09:06:42
Java8如何使用Lambda表达式简化代码详解
2023-02-20 04:44:58
IntelliJ IDEA快速创建getter和setter方法
2023-06-04 00:44:46
![](https://img.aspxhome.com/file/2023/0/61650_0s.jpg)
Java毕业设计实战之医院心理咨询问诊系统的实现
2022-07-04 19:02:21
![](https://img.aspxhome.com/file/2023/5/74995_0s.jpg)
使用@PropertySource读取配置文件通过@Value进行参数注入
2021-11-21 13:21:03
![](https://img.aspxhome.com/file/2023/8/62438_0s.png)
java中struts2实现简单的文件上传与下载
2022-12-23 22:53:21
新手学习微服务SpringCloud项目架构搭建方法
2022-01-29 04:00:17
通过Java连接SQL Server数据库的超详细操作流程
2022-08-01 12:46:01
![](https://img.aspxhome.com/file/2023/8/63098_0s.png)
Java常量池知识点总结
2023-01-09 10:23:09
![](https://img.aspxhome.com/file/2023/2/66712_0s.png)
java关于字符串的常用API
2022-09-13 22:19:03
![](https://img.aspxhome.com/file/2023/4/79844_0s.png)
idea 有时提示找不到类或者符号的解决
2023-11-29 04:10:43
![](https://img.aspxhome.com/file/2023/9/60779_0s.jpg)
Android通过ExifInterface判断Camera图片方向的方法
2023-02-02 18:43:38
![](https://img.aspxhome.com/file/2023/0/88730_0s.png)
Android实现拼图小游戏
2023-03-01 11:25:46
![](https://img.aspxhome.com/file/2023/6/93326_0s.jpg)
一篇文章教你如何用多种迭代写法实现二叉树遍历
2023-12-23 04:03:29