码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-07-21 00:50:33      阅读:472      评论:0      收藏:0      [点我收藏+]

标签:color   修改   情况   and   定义变量   个学生   循环   strong   元素   

创建车库集合,存进车

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+"\t价格:"+shop.get(i).price+"\t颜色:"+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+"\t工号:"+company.get(i).gonghao+"\t工资:"+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("品牌型号\t\t尺寸\t价格\t库存数");
        //遍历商品各个集合,取出集合全部元素
        for(int i=0;i<a.size();i++){
            //利用各个集合元素下标一样,取出各集合元素
            System.out.println((i+1)+a.get(i)+"\t"+"\t"+b.get(i)+"\t"+c.get(i)+"\t"+d.get(i));
            zkc += d.get(i);
            zj += (c.get(i)*d.get(i));
        }

        System.out.println("--------------------------------------------------------------------------------");
        System.out.println("总库存数:"+zkc);
        System.out.println("库存商品总金额:\t"+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;//继续循环
            }
        }
    }
}

 

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

标签:color   修改   情况   and   定义变量   个学生   循环   strong   元素   

原文地址:https://www.cnblogs.com/lzw123-/p/9343707.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!