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
投稿

猜你喜欢

  • 完全解析Android多线程中线程池ThreadPool的原理和使用

    2022-04-07 20:19:40
  • C# 对PDF文档加密、解密(基于Spire.Cloud.SDK for .NET)

    2021-11-23 05:37:26
  • intellij idea使用git stash暂存一次提交的操作

    2023-03-08 08:30:11
  • VS2019配置opencv详细图文教程和测试代码的实现

    2023-07-17 13:49:31
  • 使用Spring Cloud Feign作为HTTP客户端调用远程HTTP服务的方法(推荐)

    2022-11-09 11:40:37
  • opencv利用鼠标滑动画出多彩的形状

    2023-11-03 05:20:57
  • 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
  • Java毕业设计实战之医院心理咨询问诊系统的实现

    2022-07-04 19:02:21
  • 使用@PropertySource读取配置文件通过@Value进行参数注入

    2021-11-21 13:21:03
  • java中struts2实现简单的文件上传与下载

    2022-12-23 22:53:21
  • 新手学习微服务SpringCloud项目架构搭建方法

    2022-01-29 04:00:17
  • 通过Java连接SQL Server数据库的超详细操作流程

    2022-08-01 12:46:01
  • Java常量池知识点总结

    2023-01-09 10:23:09
  • java关于字符串的常用API

    2022-09-13 22:19:03
  • idea 有时提示找不到类或者符号的解决

    2023-11-29 04:10:43
  • Android通过ExifInterface判断Camera图片方向的方法

    2023-02-02 18:43:38
  • Android实现拼图小游戏

    2023-03-01 11:25:46
  • 一篇文章教你如何用多种迭代写法实现二叉树遍历

    2023-12-23 04:03:29
  • asp之家 软件编程 m.aspxhome.com