import java.util.ArrayList;
import java.lang.Integer;
import java.util.Scanner;
import java.util.Random;
class work
{
//库存管理
public static void main(String[] args)
{
ArrayList<KuCun> list=new ArrayList<KuCun>();
KuCun b1=new KuCun();
KuCun b2=new KuCun();
KuCun b3=new KuCun(); //所有品牌
b1.brand="MacbookAir";
b2.brand="ThinkPadT450";
b3.brand="ASUS-FL5800";
//所有尺寸
b1.size=13.3;
b2.size=14.0;
b3.size=15.6;
//所有库存
b1.num=5;
b2.num=10;
b3.num=18;
//所有价格
b1.price=6988.88;
b2.price=5999.99;
b3.price=4999.5; list.add(b1);
list.add(b2);
list.add(b3); show(list);
}
//执行封装
public static void show(ArrayList<KuCun> list){
Scanner sc=new Scanner(System.in);
while(true){
System.out.println("----------------库存管理----------------");
System.out.println("1.查看库存清单");
System.out.println("2.修改商品库存数量");
System.out.println("3.退出");
System.out.println("----------------------------------------");
System.out.println("请输入要执行的操作序号:");
int in=sc.nextInt();
switch(in){
case 1:
look(list);
break;
case 2:
select(list);
break;
case 3:
return;//break aa;return:返回调用我的地方
default:
System.out.println("----------------------------------------");
System.out.println("请输入正确的操作序号!");
System.out.println("----------------------------------------");
break;
}
}
}
//打印库存清单功能
public static void look(ArrayList<KuCun> list){
int sum=0;
int allSum=0;
System.out.println("品牌\t\t尺寸\t库存\t价格");
System.out.println("----------------------------------------");
for(int i=0;i<list.size();i++){
sum+=list.get(i).num;
allSum+=list.get(i).num*list.get(i).price;
System.out.print(list.get(i).brand+"\t"+list.get(i).size+"\t"+list.get(i).num+"\t"+list.get(i).price);
System.out.println();
}
System.out.println("总库存:"+sum);
System.out.println("商品总金额:"+allSum);
}
//库存商品数量修改功能
public static void select(ArrayList<KuCun> list){
System.out.println("请输入您要修改的商品序号");
for(int i=0;i<list.size();i++){
System.out.print((i+1)+":"+list.get(i).brand);
System.out.println();
}
Scanner sc=new Scanner(System.in);
int in=sc.nextInt();
while(true){
switch(in){
case 1:
System.out.println("商品名称为:"+list.get(in-1).brand);
System.out.println("请修改库存数量");
int add=sc.nextInt();
list.get(in-1).num=add;
System.out.println("修改后"+list.get(in-1).brand+"的库存为:"+add);
System.out.println();
return;
case 2:
System.out.println("商品名称为:"+list.get(in-1).brand);
System.out.println("请修改库存数量");
add=sc.nextInt();
list.get(in-1).num=add;
System.out.println("修改后"+list.get(in-1).brand+"的库存为:"+add);
System.out.println();
return;
case 3:
System.out.println("商品名称为:"+list.get(in-1).brand);
System.out.println("请修改库存数量");
add=sc.nextInt();
list.get(in-1).num=add;
System.out.println("修改后"+list.get(in-1).brand+"的库存为:"+add);
System.out.println();
return;
case 00:
return;
default:
System.out.println("请输入正确的商品序号");
in=sc.nextInt();
break;
}
}
}
}
//自定义类
class KuCun
{
//所有品牌
String brand;
//所有尺寸
double size;
//所有库存
int num;
//所有价格
double price; }

 

ArrayList 集合:库存管理的更多相关文章

  1. ArrayList集合例题,商品库存管理(集合)

    创建车库集合,存进车 public class demo1 { String pinpai; String c; int s; } import java.util.ArrayList; class ...

  2. java 用集合完成随机点名器和库存管理案例

    一 随机点名器 1.案例需求 随机点名器,即在全班同学中随机的找出一名同学,打印这名同学的个人信息. 我们来完成随机点名器,它具备以下3个内容: 存储所有同学姓名 总览全班同学姓名 随机点名其中一人, ...

  3. Java基础六(自定义类、ArrayList集合)

    今日内容介绍1.自定义类型的定义及使用2.自定义类的内存图3.ArrayList集合的基本功能4.随机点名器案例及库存案例代码优化 ###01引用数据类型_类 * A: 数据类型 * a: java中 ...

  4. 06_Java基础语法_第6天(自定义类、ArrayList集合)_讲义

    今日内容介绍 1.自定义类型的定义及使用 2.自定义类的内存图 3.ArrayList集合的基本功能 4.随机点名器案例及库存案例代码优化 01引用数据类型_类 * A: 数据类型 * a: java ...

  5. Java基础语法(自定义类、ArrayList集合)

    Java基础语法 今日内容介绍 u 自定义类 u ArrayList集合 第1章 引用数据类型(类) 1.1 引用数据类型分类 提到引用数据类型(类),其实我们对它并不陌生,如使用过的Scanner类 ...

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

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

  7. java方法中参数传递与随机点名器、库存管理案例

    一 参数传递 1.定义: 参数传递,可以理解当我们要调用一个方法时,我们会把指定的数值,传递给方法中的参数, 这样方法中的参数就拥有了这个指定的值,可以使用该值,在方法中运算了.这种传递方式,我 们称 ...

  8. 设计模式(十七)——迭代器模式(ArrayList 集合应用源码分析)

    1 看一个具体的需求 编写程序展示一个学校院系结构:需求是这样,要在一个页面中展示出学校的院系组成,一个学校有多个学院, 一个学院有多个系.如图: 2 传统的设计方案(类图) 3 传统的方式的问题分析 ...

  9. C#语言基础——集合(ArrayList集合)

    集合及特殊集合 集合的基本信息: System.Collections 命名空间包含接口和类,这些接口和类定义各种对象(如列表.队列.位数组.哈希表和字典)的集合.System.Collections ...

随机推荐

  1. golang中,map作为函数参数是如何传递的

    当你声明一个map的时候: m := make(map[int]int) 编译器会调用 runtime.makemap: // makemap implements a Go map creation ...

  2. Java 函数式编程和Lambda表达式

    1.Java 8最重要的新特性 Lambda表达式.接口改进(默认方法)和批数据处理. 2.函数式编程 本质上来说,编程关注两个维度:数据和数据上的操作. 面向对象的编程泛型强调让操作围绕数据,这样可 ...

  3. git 学习笔记 ---标签管理

    发布一个版本时,我们通常先在版本库中打一个标签(tag),这样,就唯一确定了打标签时刻的版本.将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来.所以,标签也是版本库的一个快照 ...

  4. CentOS7 搭建 NFS 服务器

    环境: 系统版本:CentOS 7.5 一.服务端配置 1.配置环境 关闭防火墙服务 # 停止并禁用防火墙 $ systemctl stop firewalld $ systemctl disable ...

  5. .Net Core WepApi-JWT认证

    JWT 介绍 JWT(Json Web Token)是一种开放标准,已Json对象的方式在各方之间安全地传输信息 JWT登陆状态不在服务器端进行存储,而是通过秘钥生成一个具有有效时间的Token返回给 ...

  6. 洛谷【P1048 采药】题解

    题目链接 分析:典型的01背包问题,设dp[i][j]为空间(也就是题面中的时间)是j的背包在装前i个物品(草药)所得的最大价值,v[i]为第i个物品的重量(采药的时间),w[i]为第i个物品(草药) ...

  7. HDU2476 String painter(DP)

    题目 String painter 给出两个字符串s1,s2.对于每次操作可以将 s1 串中的任意一个子段变成另一个字符.问最少需要多少步操作能将s1串变为s2串. 解析 太妙了这个题,mark一下. ...

  8. Linux 应用程序的安装和管理

    在Linux中,有三种安装软件的方式,分别是RPM包安装.YUM源安装.源代码编译安装. 常见应用程序目录结构 类型 路径 普通用户可执行文件 /usr/bin 管理员可执行文件 /usr/sbin ...

  9. GNS3、Wireshark、SecureCRT 环境部署

    本次GNS3环境部署教程基于官方推荐的稳定版1.5.4.初次接触此软件,详细的使用方法不是很清楚,所以以此作为学习记录,仅供参考,后期补充. 软件介绍 GNS3 GNS3是一款具有图形化界面可以运行在 ...

  10. Springboot项目中Pom.xml报错

    摘要:使用idea,两次在maven上浪费时间,第一次不知道怎么就解决了,第二次记录一下解决办法 参考博客地址: https://blog.csdn.net/u013129944/article/de ...