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. [笔记] 命令行参数 int main(int argc,char *argv[])

    int main(int argc,char *argv[]) // argument count 变量个数 argument values 变量值 C程序的main函数有两个形参* argc:整数, ...

  2. 去除Chrome“请停用以开发者模式运行的扩展程序”提示

    将version.dll放在chrome同级目录,重启浏览器( 79.0.3945.79版本后已失效)                    

  3. STC单片机Flash做EEPROM的代码

    STC官方给出的建议: /***************************************************************Author:Liming*** * @brie ...

  4. Python-记事本

    1.文本颜色 格式:\[显示方式;前景色;背景色m要打印的字符串\[0m 2.format 格式 print('{}的三次方为{:*^20}'.format(a,pow(a, 3))) print(& ...

  5. 如何在ArcGIS饼状图中下方添加文字

    内容源自:ArcGIS10.2基础教程(丁华) 书上要求在统计图的饼状图下方显示“总面积组成”,以及图例是只显示文字. 该如何操作呢? 其实就是在高级属性中选择标题-副标题-显示“总面积组成”即可 而 ...

  6. Spring概述学习笔记

    1.Spring概述 Spring致力于J2EE应用的各种解决方案,而不仅仅专注于某一层的方案. 可以说,Spring是企业应用开发的一站式选择,他贯穿于表现层.业务层.持久层. Spring并不想取 ...

  7. .NET Core随笔把数据库数据查出来转JSON并输出

    直接创建WEB项目即可: public class Startup { //startup.cs是站点启动时具体做了哪些事情,主要是开启了一个mvc服务. public Startup(IConfig ...

  8. hbuilder 热更新

    记录下Hbuilder做热更新的功能. 首先是获取本地的版本与服务器的版本对比.服务器的版本大于本地的版本才进行更新.获取本地版本的方法 plus.runtime.getProperty(plus.r ...

  9. scrapy 写文件进行debug调试

    首先进入和setting同级目录 新建run.py文件 # *_*coding:utf-8 *_* from scrapy import cmdline cmdline.execute('scrapy ...

  10. MySQL DataType--浮点数(Floating-Point Types)学习

    浮点数(Floating-Point Types) MySQL支持两种浮点数类型来表示近似值:1.FLOAT,单精度浮点数,使用4字节存储,存储数据范围3.402823466E+38 - -1.175 ...