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

Stella981
• 阅读 675

创建车库集合,存进车

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);
            }
        }    
        

    }
}

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

定义一个手机类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);
        }



    }
}

结果:

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

 定义一个员工类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;//继续循环
            }
        }
    }
}
点赞
收藏
评论区
推荐文章
blmius blmius
3年前
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
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
3个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Wesley13 Wesley13
3年前
Java获得今日零时零分零秒的时间(Date型)
publicDatezeroTime()throwsParseException{    DatetimenewDate();    SimpleDateFormatsimpnewSimpleDateFormat("yyyyMMdd00:00:00");    SimpleDateFormatsimp2newS
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
9个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这