zoukankan      html  css  js  c++  java
  • ArrayList集合例题,商品库存管理(集合)

    创建车库集合,存进车

    public class demo1 
    {
        
            String pinpai;
           
            String c;
            int s;
        
    }
    import java.util.ArrayList;
    class demo03 
    {
        public static void main(String[] args) 
        {    
            //车辆的属性赋值
            demo1 car1 = new demo1();
            car1.pinpai="大众";
            car1.c = "白色";
            car1.s =18;
            demo1 car2 = new demo1();
            car2.pinpai ="雪佛兰";
            car2.c ="黑色";
            car2.s =15;
            //创建车库,创建车库集合
            ArrayList<demo1> cheku = new ArrayList<demo1>();
            //添加车,在车库集合中添加元素
            cheku.add(car1);
            cheku.add(car2);
            //取车,遍历车库集合
            for (int i=0; i<cheku.size();i++ )
            {
                //打印输出车库每个集合的元素属性
                System.out.println("车的品牌是"+cheku.get(i).pinpai);
                System.out.println("车的颜色是"+cheku.get(i).c);
                System.out.println("车的尺寸是"+cheku.get(i).s);
            }
    
        }
    }

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

    Java代码:

    class Student 
    {
        String name ;
        int age;
        String sex;
    }
    import java.util.ArrayList;
    class  School
    {
        public static void main(String[] args) 
        {
            //创建并添加学生信息
            Student s1 =new Student();
            s1.name ="张三";
            s1.age =18;
            s1.sex="男";
            Student s2 =new Student();
            s2.name ="李四";
            s2.age =19;
            s2.sex="男";
            Student s3 =new Student();
            s3.name ="王五";
            s3.age =20;
            s3.sex="女";
            //创建学校集合
            ArrayList<Student> university =new ArrayList<Student>();
            //添加学生信息
            university.add(s1);
            university.add(s2);
            university.add(s3);
            //打印显示所有学生信息
            for (int i=0;i<university.size() ;i++ )
            {
                System.out.println("第"+(i+1)+"名学生的姓名:"+university.get(i).name);
                System.out.println("第"+(i+1)+"名学生的年龄:"+university.get(i).age);
                System.out.println("第"+(i+1)+"名学生的性别:"+university.get(i).sex);
            }
            //求最大年龄
            int max=0;
            int i=0;
            //遍历学校集合,找出所有学生年龄最大的
            for ( i=0;i<university.size() ;++i )
            {
                if(max<university.get(i).age){
                    max = university.get(i).age;
                    
                }
    
            }
            //修改姓名
            for ( i=0;i<university.size() ;++i ){
                if(max == university.get(i).age ){
                            
                    university.get(i).name = "葫芦娃";
                    //打印显示
                    System.out.println("修改后第"+(i+1)+"名学生的姓名:"+university.get(i).name);
                }
            }    
            
    
        }
    }

    结果:

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

    class Phone 
    {
        String brand;//手机名称
        Double price;
        String color;
    }
    import java.util.ArrayList;
    class Store 
    {
        public static void main(String[] args) 
        {
            
    
            //创建手机属性数组
            String[] b ={"小米","华为","乐视","酷奇"};
            double[] p={2999,2599,2499,1999};
            String[] c={"星空紫","星耀红","跃动白","陶瓷黑"};
            //System.out.println(b[1]);
            //创建手机新对象
            Phone p1 = new Phone();
            Phone p2 = new Phone();
            Phone p3 = new Phone();
            Phone p4 = new Phone();
            //创建手机商店集合
            ArrayList<Phone> shop =new ArrayList<Phone>();
            //添加手机
            shop.add(p1);
            shop.add(p2);
            shop.add(p3);
            shop.add(p4);
            //遍历手机商店集合,让手机属性数组中各个数组的第i+1个元素等于第i+1个手机对象的对应属性的属性值
            for (int i=0;i<shop.size() ;i++ )
            {
                shop.get(i).brand = b[i];
                shop.get(i).price = p[i];
                shop.get(i).color = c[i];
                //打印输出
                System.out.println("手机品牌:"+shop.get(i).brand+"	价格:"+shop.get(i).price+"	颜色:"+shop.get(i).color);
            }
    
    
    
        }
    }

    结果:

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

    class Employee 
    {
        String name;
        String gonghao;
        double gongzi;
    }
    import java.util.ArrayList;
    class  Boss
    {
        public static void main(String[] args) 
        {
            //创建员工属性数组
    
            String[] n={"王小二","马小跳","宋小宝"};
             String[] gh ={"007","008","009"};
            double[] gz ={10000,8000,60000};
            //创建员工对象
            Employee e1=new Employee();
            Employee e2=new Employee();
            Employee e3=new Employee();
            //创建公司集合
            ArrayList<Employee> company = new ArrayList<Employee>();
            //添加员工
            company.add(e1);
            company.add(e2);
            company.add(e3);
            //遍历公司集合,让员工各个数组的第i+1个元素等于公司集合的第i+1个员工的属性的属性值
            for (int i=0;i<company.size() ;i++ )
            {
                company.get(i).name =n[i];
                company.get(i).gonghao =gh[i];
                company.get(i).gongzi =gz[i];
                //打印
                System.out.println("姓名:"+company.get(i).name+"	工号:"+company.get(i).gonghao+"	工资:"+company.get(i).gongzi);
            }
    
        }
    }

    商品库存管理:

    //导包
    import java.util.ArrayList;//集合包
    import java.util.Random;//随机数包
    import java.util.Scanner;//录入输入包
    class  cangku
    {
        public static void main(String[] args) 
        {
            
            //定义集合
                //商品品牌
                ArrayList<String> pinpai = new ArrayList<String>();
                pinpai.add("MacBookAir");
                pinpai.add("ThinkpadT450");
                pinpai.add("ASUS-FL5800");
                //商品尺寸
                ArrayList<Double> size = new ArrayList<Double>();
                size.add(13.3);
                size.add(14.0);
                size.add(15.6);
                //商品价格
                ArrayList<Double> price = new ArrayList<Double>();
                price.add(6988.88);
                price.add(5999.99);
                price.add(4999.5);
                //库存
                ArrayList<Integer> kucun = new ArrayList<Integer>();
                kucun.add(5);
                kucun.add(10);
                kucun.add(18);
    
                
            //调用商品管理方法
            guanli(pinpai,size,price,kucun);//传实参,传商品定义四个集合
            
        }
    
        //菜单
        public static void caidan()
        {
            //打印菜单
            System.out.println("---------------库存管理--------------");
            System.out.println("1.查看库存清单");
            System.out.println("2.修改商品库存数量");
            System.out.println("3.退出");
            System.out.println("请输入你要执行的序号");
        
        }
        //修改商品库存方法
        public static void update(ArrayList<Integer> d)
        {        
            //创建输入实例
            Scanner sc = new Scanner(System.in);
            //输入序号
            System.out.println("请输入修改的商品序号");
            int num = sc.nextInt();
            //输入修改数量
            System.out.println("请输入修改的商品库存数量");
            int n = sc.nextInt();
            //修改指定位置内容
            d.set(num-1,n);//num-1为第num个元素的下标,n为要替换后的元素
    
        }
    
        //商品库存清单
    
        public static void show(ArrayList<String> a,ArrayList<Double> b,ArrayList<Double> c,ArrayList<Integer> d)
            //定义形参a,b,c,d与实参相应类型用来接收传参数值
        {
    
            int zkc=0;
            double zj=0;
            //打印表头
            System.out.println("---------------------------------商城库存清单---------------------------------");
            System.out.println("品牌型号		尺寸	价格	库存数");
            //遍历商品各个集合,取出集合全部元素
            for(int i=0;i<a.size();i++){
                //利用各个集合元素下标一样,取出各集合元素
                System.out.println((i+1)+a.get(i)+"	"+"	"+b.get(i)+"	"+c.get(i)+"	"+d.get(i));
                zkc += d.get(i);
                zj += (c.get(i)*d.get(i));
            }
    
            System.out.println("--------------------------------------------------------------------------------");
            System.out.println("总库存数:"+zkc);
            System.out.println("库存商品总金额:	"+zj);
           
        }
        
        //商品管理
        public static void guanli(ArrayList<String> pinpai,ArrayList<Double> size,ArrayList<Double> price,ArrayList<Integer> kucun)
            //定义与实参类型相同的形参接收,实参要传的值
        {
            
            //循环显示菜单和输入序号
            while(true)
            {
                caidan();//调用菜单界面
                //录入输入的值
                Scanner sc = new Scanner(System.in);
                int xh = sc.nextInt();//定义变量xh接收输入值
                //判断输入序号
                switch (xh)
                {
                    //查看库存清单
                    case 1:
                        
                        show(pinpai,size,price,kucun);//调用商品清单方法,显示清单,用四个实参集合传参数
                    
                        break;//跳出switch,继续输入序号判断
                        
                    case 2:
                        show(pinpai,size,price,kucun);//调用商品清单方法,显示清单
                        update(kucun);//修改库存数据,传实参kucun集合
                        break;//跳出switch判断,继续循环
                    case 3:
                        return;//跳出整个guanli()方法,结束程序,退出
                    default :
                        System.out.println("您的输入不合法~");//当输入其他情况时显示
                        
                        continue;//继续循环
                }
            }
        }
    }
  • 相关阅读:
    pythonldap 简单试用
    shell 将文件名读入数组
    pytest命令行传入自定义的参数到测试文件中
    Python实现在不同Linux主机之间拷贝文件
    使用minio搭建私有化对象存储服务
    CPU/GPU/NPU
    pytest 内置和自定义marker
    安装SQLite3引发的库问题
    C标准库——程序员等级
    这样还弄不死指针?
  • 原文地址:https://www.cnblogs.com/lzw123-/p/9343707.html
Copyright © 2011-2022 走看看