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
0
投稿
猜你喜欢
- 1、Date日期输出可读性较差Date date = new Date();System.out.println(date);打印输出的结果
- 首先,确保 IDEA 软件正确安装完成,Java 开发工具包 JDK 安装完成。IDEA 的 Java 项目 (Project) 则相当于
- List去重复,我们首先想到的可能是 利用List转Set集合,因为Set集合不允许重复。所以达到这个目的。 如果集合里面是简单对
- 1.在java代码中(SplashActivity继承AppCompatActivity时无效)2.在manifest.xml中改Theme
- 本文实例讲述了C#中static静态变量的用法。分享给大家供大家参考。具体如下:使用 static 修饰符声明属于类型本身而不是属于特定对象
- @ApiImplicitParam作用在方法上,表示单独的请求参数参数name:参数名。value:参数的具体意义,作用。required:
- java 数据结构中栈和队列的实例详解栈和队列是两种重要的线性数据结构,都是在一个特定的范围的存储单元中的存储数据。与线性表相比,它们的插入
- 本文以一个简单的实例来说明C#策略模式的实现方法,分享给大家供大家参考。具体实现方法如下:一般来说,当一个动作有多种实现方法,在实际使用时,
- 自动注入和@Autowire@Autowire不属于自动注入!注入方式(重要)在Spring官网上(文档),定义了在Spring中的注入方式
- 最近有很多小伙伴给我留言,分布式系统时代,线程并发,资源抢占,"锁" 慢慢变得很重要。那么常见的锁都有哪些?今天Tom哥
- List、Set、Map判断两个对象相等的标准List:通过equals()方法比较返回true即可。HashSet:先比较两个对象hash
- 添加标题在 Winfrom 界面中添加一个 ListView 组件,然后点击右上角的箭头,点击编辑列添加下面标题,然后点击确定此时 List
- openFeign服务间调用保持请求头信息处理1、注意特殊情况,在定时任务或者内部之间调用,没有request的时候,不要处理直接返回。2、
- 结构图: 抽象对象: abstract class Component  
- 今天一起学习下如何在Spring中进行异步编程。我们都知道,web服务器处理请求 request 的线程是从线程池中获取的,这也不难解释,因
- 目录简介强引用软引用弱引用虚引用简介从JDK1.2版本开始,把对象的引用分为四种级别,从而使程序能更加灵活的控制对象的生命周期。这四种级别由
- Spring Batch job任务只跑一次在一次实际使用spring batch的过程中,在定时任务中,第一次执行Job没有出现问题,然后
- 目录一、服务的概念二、Android的多线程编程2.1 线程的基本用法2.2 在子线程中更新UI更新方式一更新方式二2.3 解析异步消息处理
- @Scheduled多个任务同时开始执行只需在springBoot启动类上添加如下代码即可:@Bean publi
- 使用 Spring 时,XML 和注解是使用得最多的两种配置方式,虽然是两种完全不同的配置方式,但对于 IOC 容器来说,两种方式的不同主要