package demo1;

import java.util.ArrayList;
import java.util.Scanner; public class Demo1 {
public static void main(String[] args) {
ArrayList<Goods> array = new ArrayList<Goods>();
while(true) { //功能块的选择 一直循环之道用户选择退出
int num = chooseFunction(); //选择功能
switch(num) {
case 1:
printGoods(array); //功能1:打印所有商品
break;
case 2: //功能2:添加商品
addGoods(array);
break;
case 3: //功能3:修改商品
updateGoods(array);
break;
case 4: //功能4:删除商品
deleteGoods(array);
break;
case 5: //退出
return;
default: //其他情况
System.out.println("无此功能");
}
}
}
//选择功能
public static int chooseFunction() {
System.out.println("=========商品库存管理=========");
System.out.println("1.查看商品");
System.out.println("2.添加商品");
System.out.println("3.修改商品");
System.out.println("4.删除商品");
System.out.println("5.退出");
System.out.println("请选择序号:");
Scanner sc = new Scanner(System.in);
int index = sc.nextInt();
return index;
}
//功能1:打印所有商品
public static void printGoods(ArrayList<Goods> array) {
System.out.println("编号\t品牌\t尺寸\t价格\t数量");
for (int i = 0; i < array.size(); i++) {
Goods g = array.get(i);
System.out.println((i+1)+"\t"+g.brand+"\t"+g.size+"\t"+g.price+"\t"+g.count);
}
}
//功能2:添加商品
public static void addGoods(ArrayList<Goods> array) {
Scanner sc = new Scanner(System.in);
while(true) {
System.out.println("请输入品牌:");
String brand = sc.next();
System.out.println("请输入尺寸:");
double size = sc.nextDouble();
System.out.println("请输入价格:");
double price = sc.nextDouble();
System.out.println("请输入数量:");
int count = sc.nextInt(); Goods g = new Goods();
g.brand = brand;
g.size = size;
g.price = price;
g.count = count;
array.add(g);
System.out.println("添加成功");
System.out.println("是否继续输入(1为继续输入0为结束输入)");
int number = sc.nextInt();
if(number==0)
return;
}
}
//功能3:修改商品
public static void updateGoods(ArrayList<Goods> array) {
Scanner sc = new Scanner(System.in);
while(true) {
System.out.println("请输入要修改的商品的序号:");
int index= sc.nextInt()-1;
Goods g = array.get(index);
System.out.println("请输入品牌:");
String brand = sc.next();
g.brand = brand; System.out.println("请输入尺寸:");
double size = sc.nextDouble();
g.size = size; System.out.println("请输入价格:");
double price = sc.nextDouble();
g.price = price; System.out.println("请输入价格:");
int count = sc.nextInt();
g.count = count;
System.out.println("修改成功");
System.out.println("是否继续输入(1为继续输入0为结束输入)");
int number = sc.nextInt();
if(number==0)
return;
}
}
//功能4:删除商品
public static void deleteGoods(ArrayList<Goods> array) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入要删除的序号:");
int num = sc.nextInt()-1;
array.remove(num);
System.out.println("删除成功");
}
}

Java_7.2库存管理的更多相关文章

  1. 疯狂C#~伴随着我的库存管理¥

    每次的等待都是期待下一次的勃发!但激进的我非常想和大家学习一些东西,所以特地的分享了一个库存管理, 生活中容易运用的很多,但现在的学业希望能够得到各界人士的帮助!!! 首先:会有几个类来让它们协调 ( ...

  2. C#的库存管理之旅的别样意义

    我不知道大家对C#的一些基础知识掌握得怎么样了? 但无论怎么样,都应该静心下来去慢慢品味我的总结以及“库存管理”项目需用到的一些知识和技巧.你将会得到你料想不到的收获哦. 知识梳理: 数据类型:boo ...

  3. Odoo 的库存管理与OpenERP之前的版本有了很大的不同,解读Odoo新的WMS模块中的新特性

    原文来自:http://shine-it.net/index.php/topic,16409.0.html 库存移动(Stock Move)新玩法Odoo的库存移动不仅仅是存货在两个“存货地点”之间的 ...

  4. openerp经典收藏 OpenERP库存管理的若干概念讲解(新增库存价值)(转载)

    OpenERP库存管理的若干概念讲解(新增库存价值) 原文:http://shine-it.net/index.php/topic,2425.0/topicseen.html 一.复式库存(Doubl ...

  5. EBS业务学习之库存管理

    库存管理业务流程 企业结构 库存结构 库存结构定义 指定每个子库存的特性: •子库存的数量跟踪 •资产类子库存 •保留子库存 •净值子库存 •包含在有效承诺中Include in ATP •子库存级库 ...

  6. 【MM系列】SAP的库存管理

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP的库存管理   前言部分 库存 ...

  7. 「SAP技术」为正常库存管理的物料做成本中心采购会是什么结果?

    SAP 为正常库存管理的物料做成本中心采购会是什么结果? 这种采购可以正常进行,收货后SAP会更新采购订单里指定的费用类科目,而库存数量和库存价值都不会增加. 1, 如下物料号,是正常做库存管理的物料 ...

  8. Java生鲜电商平台-库存管理设计与架构

    Java生鲜电商平台-库存管理设计与架构 WMS的功能: 1.业务批次管理 该功能提供完善的物料批次信息.批次管理设置.批号编码规则设置.日常业务处理.报表查询,以及库存管理等综合批次管理功能,使企业 ...

  9. 用友U8将存货核算期初单价金额回写到库存管理期初单价金额

    在用友U8及相关产品中,库存管理期初要求必须录入数量,但单价和金额并不是必输的.从本人过去实施经验来看,为了保证ERP产品的快速上线,有不少企业只能先提供库存管理期初数量,而单价金额需要后续才能确定. ...

随机推荐

  1. vue-x action 的相互调用

    实现方式:分发 Action Action 通过 store.dispatch 方法触发: store.dispatch('increment')

  2. 尚硅谷springboot学习2-微服务

    2014年,martin flowler发表关于微服务的博客 微服务是一种架构风格:一个应用应该是一组小型服务:可以通过HTTP的方式进行互通: 单体应用:ALL IN ONE 微服务:每一个功能元素 ...

  3. Delphi的程序单元、结构、基础知识(转)

    Object Passal的程序结构很特殊,与其它语言如C++,Object Windows等结构都不同.一个Delphi程序由多个称为单元的源代码模块组成.使用单元可以把一个大型程序分成多个逻辑相关 ...

  4. 如何启用windows8, windows10中被停用的远程桌面,如何连接windows10远程桌面?

    针对windows8.x中文版以及win10无远程桌面功能的解决办法: 第一步到一个网站上下载一个工具包. 这个是开源的.可以放心使用.下载地址: https://github.com/binarym ...

  5. [Linux]Ubuntu下安装Sublime-text 且 支持中文输入

    ------------------------------------------------------------------------------------------ 首先进行如下操作: ...

  6. Android-json解析:原生JSONObject+JSONArray的使用【转】

    原文地址:https://blog.csdn.net/sinat_31057219/article/details/71518123 一.JSONObject和JSONArray的数据表示形式 JSO ...

  7. 16.3 authguard 通过routing path控制显示URL 通过ngif显示和隐藏

    显示或者隐藏component 通常情况下 我们的做法是把它做成class 以上两步完成,我们就可以用service了,再此之前,我们先 这样弄完以后 . 非登录状态键入上面地址会自动返回下面的地址 ...

  8. 3DMAX 批量 场景 对象 导出 .X格式 脚本

    一.首先你需要下载一个 Total Commader文件管理软件.利用这个软件你可以收集文件夹下包含子文件夹下的max文件(或完整路径)打开TotalCMD后使用查找文件:(如图红框中的操作)1. 2 ...

  9. 吴裕雄 oracle 函数、触发器和包编程

  10. hasattr() getattr() setattr() 函数使用方法

    1. hasattr(object, name) 判断object对象中是否存在name属性,当然对于python的对象而言,属性包含变量和方法:有则返回True,没有则返回False:需要注意的是n ...