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+"\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;//继续循环
            }
        }
    }
}

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

时间: 2024-11-06 16:21:06

ArrayList集合例题,商品库存管理(集合)的相关文章

集合、ArrayList 集合。Stack集合。Queue集合。以及Hashtable集合

arrayList 首先复制Colections加  : 创建arrayList ar =new arrayList(); //ArrayList al=new ArrayList();            //实例化初始化            //al.Add(4);            //真的添加            //al[0]=3;            //al[0]这种赋值方式只是修改            //Console.WriteLine(al[0]);     

5月11日 ArrayList集合复习、特殊集合、枚举类型

一.ArrayList集合复习 //定义 ArrayList al = new ArrayList(); //添加元素 al.Add(2); //插入元素 al.Insert(1,3); //查看个数 int a = al.Count;//count数数的意思 //清空集合 al.Clear(); //克隆一个集合 al.Clone(); //判断是否包含一个值 bool b = al.Contains("2"); //查看3第一个出现的索引号 int c = al.IndexOf(3

#12# SCCM管理 - 集合

集合 为读者提炼SCCM涉及的基础知识.注意事项.运行机制以及排错方法等信息是本系列文章的初衷,对于SCCM各组件及功能部署步骤方面的信息,网络中已有较多文章可以参考,因此本系列文章并不侧重于提供类似Step-by-Step的部署指南,还请见谅.同时由于个人能力和知识水平的限制,文中不免有纰漏和出错的地方,还望大家可以指正,非常感谢. 本篇文章主要讨论ConfigMgr中集合(Collection)的概念 类型(Type) ConfigMgr中包含两类集合类型: 设备集合:可以包含计算机.移动设

C#泛型集合与非泛型集合_Felix(转自新浪博客)

在.NET FCL为我们提供了很多集合类型,是编程中非常有力的工具.泛型集合主要在System.Collections.Generic名称空间中,而非泛型集合主要在System.Collections,首先抛出结论:如果在C#2.0版本以上,尽量使用泛型集合类,而不使用非泛型集合类.因为,1.泛型编程是从c#2.0开始才被.net支持的.2.泛型集合在性能和类型安全方面优于非泛型集合. 非泛型集合-System.Collections名字空间中的类主要包括ArrayList, Hashtable

编写高质量代码改善C#程序的157个建议——建议20:使用泛型集合代替非泛型集合

建议20:使用泛型集合代替非泛型集合 在建议1中我们知道,如果要让代码高效运行,应该尽量避免装箱和拆箱,以及尽量减少转型.很遗憾,在微软提供给我们的第一代集合类型中没有做到这一点,下面我们看ArrayList这个类的使用情况: ArrayList al=new ArrayList(); al.Add(0); al.Add(1); al.Add("mike"); foreach (var item in al) { Console.WriteLine(item); } 上面这段代码充分演

从头认识Spring-1.16 SpEl对集合的操作(2)-查询集合以及投影元素集合

这一章节我们来讨论一下查询集合以及投影元素集合. 我们下面用一个例子说明上面的这两个部分. 1.domain 蛋糕类:(不变) package com.raylee.my_new_spring.my_new_spring.ch01.topic_1_21; public class Cake { private String name = ""; private double size = 0; public String getName() { return name; } publi

集合框架-数组与集合互转

数组和集合类同是容器,有何不同? 数组虽然也可以存储对象,但长度是固定的:集合长度是可变的. 数组中可以对象和存储基本数据类型,集合只能存储对象. 集合框架-数组转成集合 java.util 类 Arrays * Arrays:用于操作数据的工具类提供了很多常见的方法比如排序,搜索等. * 该类中的方法都是静态的. * 数组转成集合   Arrays.asList([]); * 好处:可以使用集合list的方法来操作数组中的元素.可以使用集合 改查方法,只要不改变数组长度都可以. * 弊端:不可

集合框架(集合的遍历之集合转数组遍历)

Collection接口成员方法 Object[] toArray() 把集合转成数组,可以实现集合的遍历 Iterator iterator() 迭代器,集合的专用遍历方式  package cn.itcast_01; import java.util.ArrayList; import java.util.Collection; /*  * 集合的遍历.其实就是依次获取集合中的每一个元素.  *   * Object[] toArray():把集合转成数组,可以实现集合的遍历  */ pub

Collection单列集合 Map双列集合

Map集合:该集合存储键值对,一对一对往里存.而且要保证键的唯一性. 1.添加 put(K key, V value) putAll(Map<? extends K,? extends V> m) 2.删除 clear() remove(Object key) 3.判断 containsKey(Object key) containsValue(Object value) isEmpty() 4.获取 get(Object key) :获取值 size() values() entrySet(