ITPub博客

首页 > 应用开发 > Java > [JAVA]复习第六日JAVA集合,遍历案例(数组遍历练习)

[JAVA]复习第六日JAVA集合,遍历案例(数组遍历练习)

原创 Java 作者:Taiaishua 时间:2018-06-21 14:55:18 0 删除 编辑

点击(此处)折叠或打开

  1. /*
  2.     实现库存管理案例:
  3.      1. 存储商品信息
  4.      存储商品类型变量
  5.         将商品类型的变量,存储到集合中
  6.         
  7.       2. 查看库存清单
  8.      将集合进行遍历, 获取出集合中存储的Goods类型变量
  9.         输出每一个Goods类型的属性
  10.         计算求和: 总库存,总金额
  11.         
  12.      3. 修改商品的库存
  13.      集合遍历 ,获取出集合中存储的Goods类型变量
  14.         变量调用Goods类的属性count,值进行修改 (键盘输入)
  15. */
  16. //import java.util.ArrayList;
  17. import java.util.*;
  18. public class Shopp{
  19.     public static void main(String[] args){
  20.         //创建ArrayList集合,存储Goods类型
  21.         ArrayList<Goods> array = new ArrayList<Goods>();
  22.         //调用添加商品信息的方法
  23.         addGoods(array);
  24.         //进入死循环中
  25.         while(true){
  26.             //调用选择功能的方法,获取到用户输入的功能序号
  27.             int number = chooseFunction();
  28.             //对序号判断,如果=1 进入查看库存功能 = 2 进入修改库存功能 =3 结束
  29.             switch(number){
  30.                 case 1:
  31.                 //进入查看库存,调用查看库存的方法,传递存储商品信息的集合
  32.                 printStore(array);
  33.                 break;
  34.                 
  35.                 case 2:
  36.                 //进入修改库存功能,调用修改库存的方法,传递集合
  37.                 update(array);
  38.                 break;
  39.                 
  40.                 case 3:
  41.                 return ;
  42.                 
  43.                 default:
  44.                  System.out.println("无此功能");
  45.                  break;
  46.             }
  47.         }
  48.     }
  49.     /*
  50.      方法定义,修改库存
  51.      键盘的输入,将Goods中的属性值,修改
  52.     */
  53.     public static void update(ArrayList<Goods> array){
  54.         Scanner sc = new Scanner(System.in);
  55.         //遍历集合,获取集合中的每个元素
  56.         for(int i = 0 ; i < array.size(); i++){
  57.             //集合方法get获取的是集合的元素,元素类型Goods
  58.             Goods g = array.get(i);
  59.             System.out.println("请输入"+g.brand+"的库存数");
  60.             //Goods属性,count进行修改
  61.             g.count = sc.nextInt();
  62.         }
  63.     }
  64.     /*
  65.      定义方法,实现选择菜单,用户根据功能选择菜单
  66.     */
  67.     public static int chooseFunction(){
  68.         System.out.println("-------------库存管理------------");
  69.         System.out.println("1.查看库存清单");
  70.         System.out.println("2.修改商品库存数量");
  71.         System.out.println("3.退出");
  72.         System.out.println("请输入要执行的操作序号:");
  73.         Scanner sc = new Scanner(System.in);
  74.         int number = sc.nextInt();
  75.         return number;
  76.     }
  77.     
  78.     /*
  79.      定义方法,查看库存清单,遍历集合
  80.     */
  81.     public static void printStore(ArrayList<Goods> array){
  82.         //输出表头
  83.         System.out.println("----------商场库存清单----------");
  84.         System.out.println("品牌型号 尺寸 价格 库存数");
  85.         //定义变量,保存总库存数,和总金额
  86.         int totalCount = 0 ;
  87.         double totalMoney = 0;
  88.         //遍历集合
  89.         for(int i = 0 ; i < array.size(); i++){
  90.             //get(索引)获取出集合中的元素,存储的是Goods类,获取的也是Goods类型
  91.             //使用Goods类型变量,接受get方法结果
  92.             Goods g = array.get(i);
  93.             System.out.println(g.brand+" "+g.size+" "+g.price+" "+g.count);
  94.             totalCount = totalCount+g.count;
  95.             totalMoney = totalMoney + g.count*g.price;
  96.         }
  97.         System.out.println("总库存数: "+totalCount);
  98.         System.out.println("商品库存总金额: "+totalMoney);
  99.     }
  100.     
  101.     /*
  102.      定义方法,将商品的信息存储到集合中
  103.      集合是所有方法的共享数据,参数传递
  104.     */
  105.     public static void addGoods (ArrayList<Goods> array){
  106.         //创建商品类型变量 Goods类型的变量
  107.         Goods g1 = new Goods();
  108.         Goods g2 = new Goods();
  109.         g1.brand = "MacBook";
  110.         g1.size = 13.3;
  111.         g1.price = 9999.99;
  112.         g1.count = 3;
  113.         
  114.         g2.brand = "Thinkpad";
  115.         g2.size = 15.6;
  116.         g2.price = 7999.99;
  117.         g2.count = 1;
  118.         
  119.         //Goods类型的变量,存储到集合中
  120.         array.add(g1);
  121.         array.add(g2);
  122.     }
  123. }

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31537584/viewspace-2156447/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2018-05-16

  • 博文量
    55
  • 访问量
    51687