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

创建车库集合,存进车

1public class demo1 2{ 3 4 String pinpai; 5 6 String c; 7 int s; 8 9} 10 11import java.util.ArrayList; 12class demo03 13{ 14 public static void main(String[] args) 15 { 16 //车辆的属性赋值 17 demo1 car1 = new demo1(); 18 car1.pinpai="大众"; 19 car1.c = "白色"; 20 car1.s =18; 21 demo1 car2 = new demo1(); 22 car2.pinpai ="雪佛兰"; 23 car2.c ="黑色"; 24 car2.s =15; 25 //创建车库,创建车库集合 26 ArrayList<demo1> cheku = new ArrayList<demo1>(); 27 //添加车,在车库集合中添加元素 28 cheku.add(car1); 29 cheku.add(car2); 30 //取车,遍历车库集合 31 for (int i=0; i<cheku.size();i++ ) 32 { 33 //打印输出车库每个集合的元素属性 34 System.out.println("车的品牌是"+cheku.get(i).pinpai); 35 System.out.println("车的颜色是"+cheku.get(i).c); 36 System.out.println("车的尺寸是"+cheku.get(i).s); 37 } 38 39 } 40}

.定义一个学生类Student,包含三个属性姓名、年龄、性别,创建三个学生对象存入ArrayList集合中。
  A:遍历集合遍历输出。
  B:求出年龄最大的学生,让后将该对象的姓名变为:葫芦娃。

Java代码:

1class Student 2{ 3 String name ; 4 int age; 5 String sex; 6} 7 8import java.util.ArrayList; 9class School 10{ 11 public static void main(String[] args) 12 { 13 //创建并添加学生信息 14 Student s1 =new Student(); 15 s1.name ="张三"; 16 s1.age =18; 17 s1.sex="男"; 18 Student s2 =new Student(); 19 s2.name ="李四"; 20 s2.age =19; 21 s2.sex="男"; 22 Student s3 =new Student(); 23 s3.name ="王五"; 24 s3.age =20; 25 s3.sex="女"; 26 //创建学校集合 27 ArrayList<Student> university =new ArrayList<Student>(); 28 //添加学生信息 29 university.add(s1); 30 university.add(s2); 31 university.add(s3); 32 //打印显示所有学生信息 33 for (int i=0;i<university.size() ;i++ ) 34 { 35 System.out.println("第"+(i+1)+"名学生的姓名:"+university.get(i).name); 36 System.out.println("第"+(i+1)+"名学生的年龄:"+university.get(i).age); 37 System.out.println("第"+(i+1)+"名学生的性别:"+university.get(i).sex); 38 } 39 //求最大年龄 40 int max=0; 41 int i=0; 42 //遍历学校集合,找出所有学生年龄最大的 43 for ( i=0;i<university.size() ;++i ) 44 { 45 if(max<university.get(i).age){ 46 max = university.get(i).age; 47 48 } 49 50 } 51 //修改姓名 52 for ( i=0;i<university.size() ;++i ){ 53 if(max == university.get(i).age ){ 54 55 university.get(i).name = "葫芦娃"; 56 //打印显示 57 System.out.println("修改后第"+(i+1)+"名学生的姓名:"+university.get(i).name); 58 } 59 } 60 61 62 } 63}

结果:

定义一个手机类Phone,包含三个属性品牌(brand)、价格(price)、颜色(color)。
  创建四个手机("小米"、"华为"、"乐视"、"奇酷")对象存入ArrayList集合中,并遍历输出。

1class Phone 2{ 3 String brand;//手机名称 4 Double price; 5 String color; 6} 7 8import java.util.ArrayList; 9class Store 10{ 11 public static void main(String[] args) 12 { 13 14 15 //创建手机属性数组 16 String[] b ={"小米","华为","乐视","酷奇"}; 17 double[] p={2999,2599,2499,1999}; 18 String[] c={"星空紫","星耀红","跃动白","陶瓷黑"}; 19 //System.out.println(b[1]); 20 //创建手机新对象 21 Phone p1 = new Phone(); 22 Phone p2 = new Phone(); 23 Phone p3 = new Phone(); 24 Phone p4 = new Phone(); 25 //创建手机商店集合 26 ArrayList<Phone> shop =new ArrayList<Phone>(); 27 //添加手机 28 shop.add(p1); 29 shop.add(p2); 30 shop.add(p3); 31 shop.add(p4); 32 //遍历手机商店集合,让手机属性数组中各个数组的第i+1个元素等于第i+1个手机对象的对应属性的属性值 33 for (int i=0;i<shop.size() ;i++ ) 34 { 35 shop.get(i).brand = b[i]; 36 shop.get(i).price = p[i]; 37 shop.get(i).color = c[i]; 38 //打印输出 39 System.out.println("手机品牌:"+shop.get(i).brand+"\t价格:"+shop.get(i).price+"\t颜色:"+shop.get(i).color); 40 } 41 42 43 44 } 45}

结果:

 定义一个员工类Employee,包含三个属性姓名、工号、工资,创建三个员工对象存入ArrayList集合中,并遍历输出。

1class Employee 2{ 3 String name; 4 String gonghao; 5 double gongzi; 6} 7 8import java.util.ArrayList; 9class Boss 10{ 11 public static void main(String[] args) 12 { 13 //创建员工属性数组 14 15 String[] n={"王小二","马小跳","宋小宝"}; 16 String[] gh ={"007","008","009"}; 17 double[] gz ={10000,8000,60000}; 18 //创建员工对象 19 Employee e1=new Employee(); 20 Employee e2=new Employee(); 21 Employee e3=new Employee(); 22 //创建公司集合 23 ArrayList<Employee> company = new ArrayList<Employee>(); 24 //添加员工 25 company.add(e1); 26 company.add(e2); 27 company.add(e3); 28 //遍历公司集合,让员工各个数组的第i+1个元素等于公司集合的第i+1个员工的属性的属性值 29 for (int i=0;i<company.size() ;i++ ) 30 { 31 company.get(i).name =n[i]; 32 company.get(i).gonghao =gh[i]; 33 company.get(i).gongzi =gz[i]; 34 //打印 35 System.out.println("姓名:"+company.get(i).name+"\t工号:"+company.get(i).gonghao+"\t工资:"+company.get(i).gongzi); 36 } 37 38 } 39}

商品库存管理:

1//导包 2import java.util.ArrayList;//集合包 3import java.util.Random;//随机数包 4import java.util.Scanner;//录入输入包 5class cangku 6{ 7 public static void main(String[] args) 8 { 9 10 //定义集合 11 //商品品牌 12 ArrayList<String> pinpai = new ArrayList<String>(); 13 pinpai.add("MacBookAir"); 14 pinpai.add("ThinkpadT450"); 15 pinpai.add("ASUS-FL5800"); 16 //商品尺寸 17 ArrayList<Double> size = new ArrayList<Double>(); 18 size.add(13.3); 19 size.add(14.0); 20 size.add(15.6); 21 //商品价格 22 ArrayList<Double> price = new ArrayList<Double>(); 23 price.add(6988.88); 24 price.add(5999.99); 25 price.add(4999.5); 26 //库存 27 ArrayList<Integer> kucun = new ArrayList<Integer>(); 28 kucun.add(5); 29 kucun.add(10); 30 kucun.add(18); 31 32 33 //调用商品管理方法 34 guanli(pinpai,size,price,kucun);//传实参,传商品定义四个集合 35 36 } 37 38 //菜单 39 public static void caidan() 40 { 41 //打印菜单 42 System.out.println("---------------库存管理--------------"); 43 System.out.println("1.查看库存清单"); 44 System.out.println("2.修改商品库存数量"); 45 System.out.println("3.退出"); 46 System.out.println("请输入你要执行的序号"); 47 48 } 49 //修改商品库存方法 50 public static void update(ArrayList<Integer> d) 51 { 52 //创建输入实例 53 Scanner sc = new Scanner(System.in); 54 //输入序号 55 System.out.println("请输入修改的商品序号"); 56 int num = sc.nextInt(); 57 //输入修改数量 58 System.out.println("请输入修改的商品库存数量"); 59 int n = sc.nextInt(); 60 //修改指定位置内容 61 d.set(num-1,n);//num-1为第num个元素的下标,n为要替换后的元素 62 63 } 64 65 //商品库存清单 66 67 public static void show(ArrayList<String> a,ArrayList<Double> b,ArrayList<Double> c,ArrayList<Integer> d) 68 //定义形参a,b,c,d与实参相应类型用来接收传参数值 69 { 70 71 int zkc=0; 72 double zj=0; 73 //打印表头 74 System.out.println("---------------------------------商城库存清单---------------------------------"); 75 System.out.println("品牌型号\t\t尺寸\t价格\t库存数"); 76 //遍历商品各个集合,取出集合全部元素 77 for(int i=0;i<a.size();i++){ 78 //利用各个集合元素下标一样,取出各集合元素 79 System.out.println((i+1)+a.get(i)+"\t"+"\t"+b.get(i)+"\t"+c.get(i)+"\t"+d.get(i)); 80 zkc += d.get(i); 81 zj += (c.get(i)*d.get(i)); 82 } 83 84 System.out.println("--------------------------------------------------------------------------------"); 85 System.out.println("总库存数:"+zkc); 86 System.out.println("库存商品总金额:\t"+zj); 87 88 } 89 90 //商品管理 91 public static void guanli(ArrayList<String> pinpai,ArrayList<Double> size,ArrayList<Double> price,ArrayList<Integer> kucun) 92 //定义与实参类型相同的形参接收,实参要传的值 93 { 94 95 //循环显示菜单和输入序号 96 while(true) 97 { 98 caidan();//调用菜单界面 99 //录入输入的值 100 Scanner sc = new Scanner(System.in); 101 int xh = sc.nextInt();//定义变量xh接收输入值 102 //判断输入序号 103 switch (xh) 104 { 105 //查看库存清单 106 case 1: 107 108 show(pinpai,size,price,kucun);//调用商品清单方法,显示清单,用四个实参集合传参数 109 110 break;//跳出switch,继续输入序号判断 111 112 case 2: 113 show(pinpai,size,price,kucun);//调用商品清单方法,显示清单 114 update(kucun);//修改库存数据,传实参kucun集合 115 break;//跳出switch判断,继续循环 116 case 3: 117 return;//跳出整个guanli()方法,结束程序,退出 118 default : 119 System.out.println("您的输入不合法~");//当输入其他情况时显示 120 121 continue;//继续循环 122 } 123 } 124 } 125}
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )

ArrayList集合例题,商品库存管理(集合) - HelloWorld