###16随机点名器代码实现
* A: 随机点名器案例代码
/*
随机点名器,集合改进 (学生的姓名和年龄)
现实中有学生这个事物,使用定义类的形式,描述学生事物
属性: 姓名,年龄

姓名存储了数组, 将容器换成是集合
String[] s = {"",""};
集合中,存储的是学生的姓名吗? 应该存储Student类型

存储学生:
学生类型,存储到集合中
总览: 遍历集合
随机: 随机数,作为索引,到集合中找到元素
三个功能,共享的数据,集合容器,
定义三个方法,必须参数传递集合
*/
import java.util.ArrayList;
import java.util.Random;
public class CallName{
public static void main(String[] args){
//定义集合,存储的是StudentName类型变量
ArrayList <StudentName> array = new ArrayList<StudentName>();
//调用添加方法
add (array);
//调用遍历集合
printArrayList(array);

randomStudentName(array);
}
/*
随机数,当作集合的索引,到集合中找到元素
*/
public static void randomStudentName(ArrayList<StudentName> array ){
Random r = new Random();
int number = r.nextInt( array.size());
//随机数,索引,到集合中get
StudentName s = array.get(number);
System.out.println( s.name +" "+s.age);
}

/*
总览学生的信息,遍历集合
*/
public static void printArrayList(ArrayList<StudentName> array){
for(int i = 0 ; i < array.size();i++){
//存储集合的时候, 集合.add(sn1) sn1 是StudentName类型变量
//获取的时候,集合.get方法,获取出来的是什么, 还是StudentName类型变量
StudentName s = array.get(i);
System.out.println(s.name+" "+s.age);
}
}

/*
定义方法,实现存储学生的姓名和年龄
创建StudentName类型变量,存储到集合中
*/
public static void add (ArrayList<StudentName> array){
//创建StudentName类型变量
StudentName sn1 = new StudentName();
StudentName sn2 = new StudentName();
StudentName sn3 = new StudentName();
StudentName sn4 = new StudentName();
StudentName sn5 = new StudentName();

sn1.name = "张三1";
sn1.age = 201;

sn2.name = "张三2";
sn2.age = 202;

sn3.name = "张三3";
sn3.age = 203;

sn4.name = "张三4";
sn4.age = 204;

sn5.name = "张三5";
sn5.age = 205;

//将StudentName变量,存储到集合中
array.add(sn1);
array.add(sn2);
array.add(sn3);
array.add(sn4);
array.add(sn5);
}
}

###17库存案例分析加入集合
* A: 库存案例分析加入集合
* a: 参见\day06\day06(面向对象\day06_source\对象内存图.JPG

###18库存案例添加商品信息
* A: 案例代码
/*
定义,.描述商品的类
商品 4个属性
商品名字 大小 价格 库存
String double double int

定义类,类名Goods
这个类型的变量,存储到集合中
*/
public class Goods{
//定义商品名字
String brand ;
//大小属性
double size ;
// 价格属性
double price ;
//库存属性
int count ;
}

/*
实现库存管理案例:
1.存储商品信息
存储商品类型变量
将商品类型的变量,存储到集合中
*/
//import java.util.ArrayList;
import java.util.*;
public class Shopp{
public static void main(String[] args){
//创建ArrayList集合,存储Goods类型
ArrayList<Goods> array = new ArrayList<Goods>();
//调用添加商品信息的方法
addGoods(array);
}

/*
定义方法,将商品的信息存储到集合中
集合是所有方法的共享数据,参数传递
*/
public static void addGoods (ArrayList<Goods> array){
//创建商品类型变量 Goods类型的变量
Goods g1 = new Goods();
Goods g2 = new Goods();
g1.brand = "MacBook";
g1.size = 13.3;
g1.price = 9999.99;
g1.count = 3;

g2.brand = "Thinkpad";
g2.size = 15.6;
g2.price = 7999.99;
g2.count = 1;

//Goods类型的变量,存储到集合中
array.add(g1);
array.add(g2);
}
}

###19库存案例查看库存清单
* A: 案例代码
/*
实现库存管理案例:
1.存储商品信息
存储商品类型变量
将商品类型的变量,存储到集合中

2.查看库存清单
将集合进行遍历, 获取出集合中存储的Goods类型变量
输出每一个Goods类型的属性
计算求和: 总库存,总金额
*/
//import java.util.ArrayList;
import java.util.*;
public class Shopp{
public static void main(String[] args){
//创建ArrayList集合,存储Goods类型
ArrayList<Goods> array = new ArrayList<Goods>();
//调用添加商品信息的方法
addGoods(array);
}

/*
定义方法,查看库存清单,遍历集合
*/
public static void printStore(ArrayList<Goods> array){
//输出表头
System.out.println("----------商场库存清单----------");
System.out.println("品牌型号 尺寸 价格 库存数");
//定义变量,保存总库存数,和总金额
int totalCount = 0 ;
double totalMoney = 0;
//遍历集合
for(int i = 0 ; i < array.size(); i++){
//get(索引)获取出集合中的元素,存储的是Goods类,获取的也是Goods类型
//使用Goods类型变量,接受get方法结果
Goods g = array.get(i);
System.out.println(g.brand+" "+g.size+" "+g.price+" "+g.count);
totalCount = totalCount+g.count;
totalMoney = totalMoney + g.count*g.price;
}
System.out.println("总库存数: "+totalCount);
System.out.println("商品库存总金额: "+totalMoney);
}

/*
定义方法,将商品的信息存储到集合中
集合是所有方法的共享数据,参数传递
*/
public static void addGoods (ArrayList<Goods> array){
//创建商品类型变量 Goods类型的变量
Goods g1 = new Goods();
Goods g2 = new Goods();
g1.brand = "MacBook";
g1.size = 13.3;
g1.price = 9999.99;
g1.count = 3;

g2.brand = "Thinkpad";
g2.size = 15.6;
g2.price = 7999.99;
g2.count = 1;

//Goods类型的变量,存储到集合中
array.add(g1);
array.add(g2);
}
}

###20库存案例修改库存清单及测试代码的实现
* A: 案例代码
/*
实现库存管理案例:
1.存储商品信息
存储商品类型变量
将商品类型的变量,存储到集合中

2.查看库存清单
将集合进行遍历, 获取出集合中存储的Goods类型变量
输出每一个Goods类型的属性
计算求和: 总库存,总金额

3.修改商品的库存
集合遍历 ,获取出集合中存储的Goods类型变量
变量调用Goods类的属性count,值进行修改 (键盘输入)
*/
//import java.util.ArrayList;
import java.util.*;
public class Shopp{
public static void main(String[] args){
//创建ArrayList集合,存储Goods类型
ArrayList<Goods> array = new ArrayList<Goods>();
//调用添加商品信息的方法
addGoods(array);
//进入死循环中
while(true){
//调用选择功能的方法,获取到用户输入的功能序号
int number = chooseFunction();
//对序号判断,如果=1 进入查看库存功能 = 2 进入修改库存功能 =3 结束
switch(number){
case 1:
//进入查看库存,调用查看库存的方法,传递存储商品信息的集合
printStore(array);
break;

case 2:
//进入修改库存功能,调用修改库存的方法,传递集合
update(array);
break;

case 3:
return ;

default:
System.out.println("无此功能");
break;
}
}
}
/*
方法定义,修改库存
键盘的输入,将Goods中的属性值,修改
*/
public static void update(ArrayList<Goods> array){
Scanner sc = new Scanner(System.in);
//遍历集合,获取集合中的每个元素
for(int i = 0 ; i < array.size(); i++){
//集合方法get获取的是集合的元素,元素类型Goods
Goods g = array.get(i);
System.out.println("请输入"+g.brand+"的库存数");
//Goods属性,count进行修改
g.count = sc.nextInt();
}
}
/*
定义方法,实现选择菜单,用户根据功能选择菜单
*/
public static int chooseFunction(){
System.out.println("-------------库存管理------------");
System.out.println("1.查看库存清单");
System.out.println("2.修改商品库存数量");
System.out.println("3.退出");
System.out.println("请输入要执行的操作序号:");
Scanner sc = new Scanner(System.in);
int number = sc.nextInt();
return number;
}

/*
定义方法,查看库存清单,遍历集合
*/
public static void printStore(ArrayList<Goods> array){
//输出表头
System.out.println("----------商场库存清单----------");
System.out.println("品牌型号 尺寸 价格 库存数");
//定义变量,保存总库存数,和总金额
int totalCount = 0 ;
double totalMoney = 0;
//遍历集合
for(int i = 0 ; i < array.size(); i++){
//get(索引)获取出集合中的元素,存储的是Goods类,获取的也是Goods类型
//使用Goods类型变量,接受get方法结果
Goods g = array.get(i);
System.out.println(g.brand+" "+g.size+" "+g.price+" "+g.count);
totalCount = totalCount+g.count;
totalMoney = totalMoney + g.count*g.price;
}
System.out.println("总库存数: "+totalCount);
System.out.println("商品库存总金额: "+totalMoney);
}

/*
定义方法,将商品的信息存储到集合中
集合是所有方法的共享数据,参数传递
*/
public static void addGoods (ArrayList<Goods> array){
//创建商品类型变量 Goods类型的变量
Goods g1 = new Goods();
Goods g2 = new Goods();
g1.brand = "MacBook";
g1.size = 13.3;
g1.price = 9999.99;
g1.count = 3;

g2.brand = "Thinkpad";
g2.size = 15.6;
g2.price = 7999.99;
g2.count = 1;

//Goods类型的变量,存储到集合中
array.add(g1);
array.add(g2);
}
}

最新文章

  1. php创建文件并写入信息
  2. ant学习
  3. jquery.validate新的写法(jquery.validate1.13.js)
  4. hbase-0.94.16 在hadoop-1.2.1的安装配置
  5. git会议分享
  6. A. Sorting Railway Cars
  7. Android隐藏输入法键盘(hideSoftInputFromInputMethod没有效果)
  8. iOS开发——高级技术&amp;支付宝功能的实现
  9. CSS hack 如何区分所有IE浏览器和非IE浏览器
  10. UVA-11214 IDA*
  11. 【NOIP 2017】逛公园
  12. Python档案袋(线程 )
  13. C++ log4cplus 类库的封装
  14. VIm快捷操作
  15. [转载]JS中 map, filter, some, every, forEach, for in, for of 用法总结
  16. 微信小程序开发过程问题总汇
  17. python爬虫之scrapy安装(一)
  18. 大佬RQY真的强
  19. poj3258 River Hopscotch(二分最小值,好题)
  20. Python-列表-9

热门文章

  1. oracle 11g生成ASH报告操作过程
  2. [环境部署] Windows Server 2016 配置指南 之 安装 Redis3.0
  3. 修道士与野人问题(BFS广度搜索)
  4. synchronized底层实现原理及锁优化
  5. Spring MVC的异常处理 ?
  6. jenkins-learning
  7. 有没有可能两个不相等的对象有有相同的 hashcode?
  8. @RequestMapping 注解有什么用?
  9. 面试题目:手写一个LRU算法实现
  10. PCB常用低速、高速板材参数性能(2)