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("输入的编号不存在");
}

至此,基本上完成了各项功能,大概的运行结果为:

java实现超市库存管理系统

来源: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
  • asp之家 软件编程 m.aspxhome.com