ArrayList 集合:库存管理
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 集合:库存管理的更多相关文章
- ArrayList集合例题,商品库存管理(集合)
创建车库集合,存进车 public class demo1 { String pinpai; String c; int s; } import java.util.ArrayList; class ...
- java 用集合完成随机点名器和库存管理案例
一 随机点名器 1.案例需求 随机点名器,即在全班同学中随机的找出一名同学,打印这名同学的个人信息. 我们来完成随机点名器,它具备以下3个内容: 存储所有同学姓名 总览全班同学姓名 随机点名其中一人, ...
- Java基础六(自定义类、ArrayList集合)
今日内容介绍1.自定义类型的定义及使用2.自定义类的内存图3.ArrayList集合的基本功能4.随机点名器案例及库存案例代码优化 ###01引用数据类型_类 * A: 数据类型 * a: java中 ...
- 06_Java基础语法_第6天(自定义类、ArrayList集合)_讲义
今日内容介绍 1.自定义类型的定义及使用 2.自定义类的内存图 3.ArrayList集合的基本功能 4.随机点名器案例及库存案例代码优化 01引用数据类型_类 * A: 数据类型 * a: java ...
- Java基础语法(自定义类、ArrayList集合)
Java基础语法 今日内容介绍 u 自定义类 u ArrayList集合 第1章 引用数据类型(类) 1.1 引用数据类型分类 提到引用数据类型(类),其实我们对它并不陌生,如使用过的Scanner类 ...
- EBS业务学习之库存管理
库存管理业务流程 企业结构 库存结构 库存结构定义 指定每个子库存的特性: •子库存的数量跟踪 •资产类子库存 •保留子库存 •净值子库存 •包含在有效承诺中Include in ATP •子库存级库 ...
- java方法中参数传递与随机点名器、库存管理案例
一 参数传递 1.定义: 参数传递,可以理解当我们要调用一个方法时,我们会把指定的数值,传递给方法中的参数, 这样方法中的参数就拥有了这个指定的值,可以使用该值,在方法中运算了.这种传递方式,我 们称 ...
- 设计模式(十七)——迭代器模式(ArrayList 集合应用源码分析)
1 看一个具体的需求 编写程序展示一个学校院系结构:需求是这样,要在一个页面中展示出学校的院系组成,一个学校有多个学院, 一个学院有多个系.如图: 2 传统的设计方案(类图) 3 传统的方式的问题分析 ...
- C#语言基础——集合(ArrayList集合)
集合及特殊集合 集合的基本信息: System.Collections 命名空间包含接口和类,这些接口和类定义各种对象(如列表.队列.位数组.哈希表和字典)的集合.System.Collections ...
随机推荐
- 工信部要求应用商店上新 App 检查 IPv6,这里有一份 IPv6 快速部署指南
7 月 25 日,工业和信息化部信息通信发展司组织召开部署推进 IPv6 网络就绪专项行动电视电话会议.会议指出,加快推进 IPv6 规模部署,构建高速率.广普及.全覆盖.智能化的下一代互联网,是互联 ...
- ElasticSearch动态修改副本个数
创建只有 一个主分片,没有副本的小索引: PUT /my_temp_index{ "settings": { "number_of_shards" : 1, & ...
- Spring Boot Freemarker特别篇之contextPath【从零开始学Spring Boot
需求缘起:有人在群里@我:请教群主大神一个问题,spring boot + freemarker 怎么获取contextPath 头疼死我了,网上没一个靠谱的 .我就看看之前博客中的 [Spri ...
- ArcGIS Engine开发鹰眼图的功能(基础篇)
鹰眼是用于调节全视域范围内主地图显示范围情况的副地图.它体现了地图整体与详细局部的关系. 用户可以通过鼠标单击或者画框等动作实现鹰眼与主地图的交互情况. 鹰眼功能的原理是通过主地图窗口的地图控件和鹰眼 ...
- WPS生成多级编号
需求: 目前标题是标题1,想要 string 是二级标题,并且编号是 2.1 方案: (1)设置string是二级标题 (2)设置多级编号 选中,右击,选择[项目符号和编号] 选择[多级编号],点击[ ...
- 浮动IP地址(Float IP)与 ARP欺骗技术
浮动IP地址: 一个网卡是可以添加多个IP的. 就是多个主机工作在 同一个集群中,即两台主机以上.每台机器除了自己的实IP外,会设置一个浮动IP,浮动IP与主机的服务(HTTP服务/邮箱服务)绑在一起 ...
- spring加载多个配置文件如何配置
为应用指定多个配置文件: 多个配置文件的关系: 并列 包含 并列关系 即有多个配置文件,需要同时加载这多个配置文件: 可以使用可变参数,数组和统配符进行加载: 可变参数 String config1 ...
- 学习笔记之三十年软件开发之路 - Things I Learnt The Hard Way (in 30 Years of Software Development)
三十年软件开发之路 https://mp.weixin.qq.com/s/EgN-9bIHonRid1DM0csQDw https://blog.juliobiason.net/thoughts/th ...
- Xcode 10 Archive 时电脑卡死
Xcode 10 Archive Unity5.x 导出工程时电脑卡死.解决办法:Targets - Build Settings - Debug Information Format 设置成DWAR ...
- 【转载】TX - row lock contention 的一些场景
TX - row lock contention 的一些场景 原创 2016-07-11 易欣 云和恩墨 易欣(Eson) 云和恩墨技术专家 本文整理来自7月7日周四晚云和恩墨大讲堂嘉宾易欣分享的主题 ...