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,管理系统
0
投稿
猜你喜欢
简单了解springboot的jar包部署步骤
2021-07-02 14:22:48
解答“60k”大佬的19道C#面试题(下)
2022-10-07 22:31:10
Spring Boot2.0 @ConfigurationProperties使用详解
2021-06-11 17:21:30
C# KeyUp事件中MessageBox的回车(Enter)键回调问题解决方案
2021-06-25 06:24:06
C#实现PDF文件添加图片背景
2022-04-03 20:45:35
Java8特性使用Function代替分支语句
2021-09-05 07:29:09
Java日期时间字符串和毫秒相互转换的方法
2022-03-11 18:15:57
Springboot导出文件,前端下载文件方式
2023-07-21 11:27:05
EasyValidate优雅地校验提交数据完整性
2022-03-30 11:54:46
最小树形图模板朱刘算法分享
2023-11-07 07:04:38
解决grails服务端口冲突的办法(grails修改端口号)
2023-09-12 01:00:03
C# 使用Fluent API 创建自己的DSL(推荐)
2022-03-30 23:36:48
基于StreamRead和StreamWriter的使用(实例讲解)
2022-09-11 22:12:36
详解SpringBoot如何实现统一后端返回格式
2022-11-27 05:26:24
详解Java ES多节点任务的高效分发与收集实现
2021-08-03 13:59:02
使用 C# 动态编译代码和执行的代码
2023-07-22 23:46:27
深入了解Java数据结构和算法之堆
2022-07-23 19:45:49
java Hibernate多对多映射详解及实例代码
2023-07-02 07:24:40
Android编程动态按钮实现方法
2021-12-31 18:05:17
Java优化if-else代码的实战记录
2023-05-16 22:55:18