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;//继续循环
}
}
}
}
ArrayList集合例题,商品库存管理(集合)的更多相关文章
- 集合、ArrayList 集合。Stack集合。Queue集合。以及Hashtable集合
arrayList 首先复制Colections加 : 创建arrayList ar =new arrayList(); //ArrayList al=new ArrayList(); ...
- xml和集合混合使用-图书管理器
package com.book; public class Book { private int id; //图书编号 private String name; //图书名称 private Str ...
- 5月11日 ArrayList集合复习、特殊集合、枚举类型
一.ArrayList集合复习 //定义 ArrayList al = new ArrayList(); //添加元素 al.Add(); //插入元素 al.Insert(,); //查看个数 in ...
- 第14章 集合框架(1)-List集合的各种类
1.概述 1.1.Java集合框架的由来 1.2.什么是集合框架? 1.3.为什么需要集合框架 1.4.常用的框架接口规范 2.Vector类 2.1.存储原理 2.2.构造方法 2.3.常用方法 3 ...
- Java集合概述、Set集合(HashSet类、LinkedHashSet类、TreeSet类、EnumSet类)
Java集合概述.Set集合(HashSet类.LinkedHashSet类.TreeSet类.EnumSet类) 1.Java集合概述1)数组可以保存多个对象,但数组长度不可变,一旦在初始化数组时指 ...
- Java笔记:Java集合概述和Set集合
本文主要是Java集合的概述和Set集合 1.Java集合概述 1)数组可以保存多个对象,但数组长度不可变,一旦在初始化数组时指定了数组长度,这个数组长度就是不可变的,如果需要保存数量变化的数据,数组 ...
- [知了堂学习笔记]_集合接口list与集合接口set的区别
在Java中 除了 Map以外的集合的根接口都是Collection接口,而在Collection接口的子接口中,最重要的莫过于List和Set集合接口. 今天我们就来谈谈List集合接口与Set集合 ...
- -1-3 java集合框架基础 java集合体系结构 Collection 常用java集合框架 如何选择集合 迭代器 泛型 通配符概念 Properties 集合 迭代器
集合又称之为容器存储对象的一种方式 •数组虽然也可以存储对象,但长度是固定的:显然需要可变长度的容器 集合和数组的区别? A:长度区别 ...
- C#-集合及特殊集合——★★哈希表集合★★
集合的基本信息: System.Collections命名空间包含接口和类,这些接口和类定义各种对象(如列表.队列.位组数.哈希表和字典)的集合. System.Collections.Generic ...
随机推荐
- PAT天梯赛L2-025 分而治之
题目链接:点击打开链接 分而治之,各个击破是兵家常用的策略之一.在战争中,我们希望首先攻下敌方的部分城市,使其剩余的城市变成孤立无援,然后再分头各个击破.为此参谋部提供了若干打击方案.本题就请你编写程 ...
- Spring学习和应用
Java EE轻量级框架. 核心:反转控制(IOC),依赖注入. 功能:增删改查bean, 功能: 1.容器功能: 代替了EJB容器,负责管理用户基于POJO方式写的业务逻辑组件,具有类似E ...
- Sharepoint JSCOM 列表操作
SP.SOD.executeFunc('sp.js', 'SP.ClientContext', retrieveListItemsInclude); //确保js文件加载,再执行方法 function ...
- ACM-ICPC 2018 徐州赛区网络预赛-G Trace(线段树的应用
Problem:Portal传送门 Problem:Portal传送门 原题目描述在最下面. 我理解的题意大概是:有n次涨潮和退潮,每次的范围是个x×y的矩形,求n次涨退潮后,潮水痕迹的长度. ...
- 关于js框架 dwz 与 yii的的分页 以及筛选的结合
此为jicheng1014 原创....地址为http://jicheng1014.cnblogs.com dwz是一个不错的前端框架 但是 注意 所有的后端 都是要自己写的 常见的应用是 ...
- Soup协议-即普通post请求,内容域xml
1.基础问题 1.1 soup-Simple Object Access Protocal简单对象访问协议 a).承载在http协议之上,http支持传输img/html/文件等,soup请求和响应域 ...
- Docker创建Centos踩出来的坑
屁话不多说,先来一遍正常的流程 1.下载centos镜像 # docker pull centos 2.运行容器,修改镜像 2.1 运行 # docker run -itd --name centos ...
- KendoUI 自定义验证:
Html: <label>@LogicNameAttribute.GetLogicName(typeof(Reward).GetProperty("ExtraRewardMone ...
- JavaSE_5_线程
1.多线程中的i++线程安全吗?为什么? 不安全,因为每个线程都有自己的工作内存,每个线程需要对共享变量操作时必须把共享变量从主内存中加载到自己的工作内存,等完成操作后再保存到内存中,如果一个线程运算 ...
- Miner3D Enterprise 企业版
——极致的视觉数据挖掘和知识发现解 Miner3D Enterprise 企业版是一个有力的综合数据驱动的三维可视化和数据分析解决方案.金融师.药剂师.生物技术或化学材质科研人员.地质学家.石油开采专 ...