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. newCachedThreadPool使用案例

    newCachedThreadPool 缓存默认60s 猜下你的结果 package com.juc.threadpool; import java.util.concurrent.ExecutorS ...

  2. python语言中的数据类型之集合

    数据类型 集合类型    set 用途:1.关系运算        2.去重 定义方式:在{}内用逗号分隔开多个元素,但元素的特点是 1.集合内元素必须是不可变类型 2.集合内元素无序 集合内元素不能 ...

  3. C++ 连接Oracle

    下面是一个ADO方式连接Oracle的小程序部分代码...... 首先是Oracle的配置.在Oracle的安装路径下找到:Oracle\network\ADMIN\tnsnames.ora文件.配置 ...

  4. linux 2.6.32文件系统的inode

    接上文: crash> struct -xo dentry.d_inode ffff8818118002c0 struct dentry { [ffff8818118002d0] struct ...

  5. 如何遍历Set对象

    对 set 的遍历 1.迭代遍历: Set<String> set = new HashSet<String>(); Iterator<String> it = s ...

  6. Android Studio 版本间区别

    2.3.2 ->3.0.1  Gradle版本为4.1   com.android.tools.build:gradle:3.0.x Android Monitor 被换成了 Android P ...

  7. web前端面试题HTML/CSS部分

    web前端面试题HTML/CSS部分 前端页面有哪三层构成,分别是什么?作用是什么? 1.结构层:由 HTML 或 XHTML 之类的标记语言负责创建,仅负责语义的表达.解决了页面“内容是什么”的问题 ...

  8. spark pyspark 常用算法实现

    利用Spark-mllab进行聚类,分类,回归分析的代码实现(python) http://www.cnblogs.com/adienhsuan/p/5654481.html 稀疏向量: 关于Spar ...

  9. ftp 传输问题

    服务器配置ftp站点后,客户端机器可以下载但不能上传文件? 今天从公网的服务器连接本地内网的FTP server copy文件时,系统老是提示227 Entering Passive Mode (xx ...

  10. ERROR Couldn't find hvm kernel for Ubuntu tree.

    安装python-virtinst git clone https://github.com/palli/python-virtinst.gitcd python-virtinstpython set ...