Java_7.2库存管理
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库存管理的更多相关文章
- 疯狂C#~伴随着我的库存管理¥
每次的等待都是期待下一次的勃发!但激进的我非常想和大家学习一些东西,所以特地的分享了一个库存管理, 生活中容易运用的很多,但现在的学业希望能够得到各界人士的帮助!!! 首先:会有几个类来让它们协调 ( ...
- C#的库存管理之旅的别样意义
我不知道大家对C#的一些基础知识掌握得怎么样了? 但无论怎么样,都应该静心下来去慢慢品味我的总结以及“库存管理”项目需用到的一些知识和技巧.你将会得到你料想不到的收获哦. 知识梳理: 数据类型:boo ...
- Odoo 的库存管理与OpenERP之前的版本有了很大的不同,解读Odoo新的WMS模块中的新特性
原文来自:http://shine-it.net/index.php/topic,16409.0.html 库存移动(Stock Move)新玩法Odoo的库存移动不仅仅是存货在两个“存货地点”之间的 ...
- openerp经典收藏 OpenERP库存管理的若干概念讲解(新增库存价值)(转载)
OpenERP库存管理的若干概念讲解(新增库存价值) 原文:http://shine-it.net/index.php/topic,2425.0/topicseen.html 一.复式库存(Doubl ...
- EBS业务学习之库存管理
库存管理业务流程 企业结构 库存结构 库存结构定义 指定每个子库存的特性: •子库存的数量跟踪 •资产类子库存 •保留子库存 •净值子库存 •包含在有效承诺中Include in ATP •子库存级库 ...
- 【MM系列】SAP的库存管理
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP的库存管理 前言部分 库存 ...
- 「SAP技术」为正常库存管理的物料做成本中心采购会是什么结果?
SAP 为正常库存管理的物料做成本中心采购会是什么结果? 这种采购可以正常进行,收货后SAP会更新采购订单里指定的费用类科目,而库存数量和库存价值都不会增加. 1, 如下物料号,是正常做库存管理的物料 ...
- Java生鲜电商平台-库存管理设计与架构
Java生鲜电商平台-库存管理设计与架构 WMS的功能: 1.业务批次管理 该功能提供完善的物料批次信息.批次管理设置.批号编码规则设置.日常业务处理.报表查询,以及库存管理等综合批次管理功能,使企业 ...
- 用友U8将存货核算期初单价金额回写到库存管理期初单价金额
在用友U8及相关产品中,库存管理期初要求必须录入数量,但单价和金额并不是必输的.从本人过去实施经验来看,为了保证ERP产品的快速上线,有不少企业只能先提供库存管理期初数量,而单价金额需要后续才能确定. ...
随机推荐
- C#--构造函数的理解
说白了构造函数就是用来初始化类的数据成员{因为C#语言具有类型安全的特质-->不能使用没有初始化的变量)} 在这里引用一下别人的总结,我觉得挺好的: 构造函数是一种特殊的成员函数,它主要用于为对 ...
- 使用SignalR实现页面即时刷新(服务端主动推送)
模块功能说明: 实现技术:sqlserver,MVC,WebAPI,ADO.NET,SignalR(服务器主动推送) 特殊车辆管理--->移动客户端采集数据存入数据库---->只要数据库数 ...
- JSON数据的解析和生成(Swift)
Codable public typealias Codable = Decodable & Encodable public protocol Decodable {} public pro ...
- Python下HttpHTTPClient和AsyncHTTPClient
HTTPClient 使用例子: from tornado.httpclient import HTTPClient def synchronous_fetch(url): http_client = ...
- 为什么使用DLL
(1) 如果不同的程序使用相同的 DLL,只需将 DLL 在内存中装载一次,这样节省了系统内存.DLL 映射到每个进程(每运行一次应用程序)的专用地址空间中,但它们的代码使用的内存影像程序只在内存中装 ...
- 简单全局HOOK拦截大部分键盘消息
前言:学习HOOK中,万一老师讲解HOOK入门教程:http://www.cnblogs.com/del/category/124150.html http://www.cnblogs.com/del ...
- hdu3579-Hello Kiki-(扩展欧几里得定理+中国剩余定理)
Hello Kiki Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
- vl_sift函数用法
I = vl_impattern('roofs1') ; image(I) ; %vl_sift函数的输入是一个单精度的灰度图像,灰度值区间归一化到[, ]. %因此图像 I 需要通过下面的函数转成相 ...
- 微信小程序实现滚动分页加载更多
参考网址:https://www.cnblogs.com/Smiled/p/8203306.html 1.wxml: <view class='myScroll' style='float:le ...
- linux下安装Cmake和Sniffles
-------------------------------------------------------------------cmake的安装------------------------- ...