类的属性count,值进行修改 (键盘输入)
*/
//import java.util.ArrayList;
import java.util.*;
public class Shopp{
public static void main(String[] args){
//创建ArrayList集合,存储Goods类型
ArrayList<Goods> array = new ArrayList<Goods>();
//调用添加商品信息的方法
addGoods(array);
//进入死循环中
while(true){
//调用选择功能的方法,获取到用户输入的功能序号
int number = chooseFunction();
//对序号判断,如果=1 进入查看库存功能 = 2 进入修改库存功能 =3 结束
switch(number){
case 1:
//进入查看库存,调用查看库存的方法,传递存储商品信息的集合
printStore(array);
break;
case 2:
//进入修改库存功能,调用修改库存的方法,传递集合
update(array);
break;
case 3:
return ;
default:
System.out.println("无此功能");
break;
}
}
}
/*
方法定义,修改库存
键盘的输入,将Goods中的属性值,修改
*/
public static void update(ArrayList<Goods> array){
Scanner sc = new Scanner(System.in);
//遍历集合,获取集合中的每个元素
for(int i = 0 ; i < array.size(); i++){
//集合方法get获取的是集合的元素,元素类型Goods
Goods g = array.get(i);
System.out.println("请输入"+g.brand+"的库存数");
//Goods属性,count进行修改
g.count = sc.nextInt();
}
}
/*
定义方法,实现选择菜单,用户根据功能选择菜单
*/
public static int chooseFunction(){
System.out.println("-------------库存管理------------");
System.out.println("1.查看库存清单");
System.out.println("2.修改商品库存数量");
System.out.println("3.退出");
System.out.println("请输入要执行的操作序号:");
Scanner sc = new Scanner(System.in);
int number = sc.nextInt();
return number;
}
/*
定义方法,查看库存清单,遍历集合
*/
public static void printStore(ArrayList<Goods> array){
//输出表头
System.out.println("----------商场库存清单----------");
System.out.println("品牌型号 尺寸 价格 库存数");
//定义变量,保存总库存数,和总金额
int totalCount = 0 ;
double totalMoney = 0;
//遍历集合
for(int i = 0 ; i < array.size(); i++){
//get(索引)获取出集合中的元素,存储的是Goods类,获取的也是Goods类型
//使用Goods类型变量,接受get方法结果
Goods g = array.get(i);
System.out.println(g.brand+" "+g.size+" "+g.price+" "+g.count);
totalCount = totalCount+g.count;
totalMoney = totalMoney + g.count*g.price;
}
System.out.println("总库存数: "+totalCount);
System.out.println("商品库存总金额: "+totalMoney);
}
/*
定义方法,将商品的信息存储到集合中
集合是所有方法的共享数据,参数传递
*/
public static void addGoods (ArrayList<Goods> array){
//创建商品类型变量 Goods类型的变量
Goods g1 = new Goods();
Goods g2 = new Goods();
g1.brand = "MacBook";
g1.size = 13.3;
g1.price = 9999.99;
g1.count = 3;
g2.brand = "Thinkpad";
g2.size = 15.6;
g2.price = 7999.99;
g2.count = 1;
//Goods类型的变量,存储到集合中
array.add(g1);
array.add(g2);
}
}
作业测试
1.简述自定义数据类型的定义格式和使用方式?
class MyObject{}
class Demo{
public static void main(){
MyObject m = new MyObject();//定义了数据类型
}
}
2.简述ArrayList集合的定义格式和常用方法的功能?
格式:ArrayList<Object> array = new ArrayList<Object>();
add(Obbject);//直接储存元素
add(index,Object);在指定位置储存元素
size();//获取集合长度
iterator();//获取集合的迭代方式
set(index,Object);//设置指定元素
get(index);//获取指定元素
remove(index);//删除指定位置的元素
4.以下选项错误的是?
A.获取数组的长度用length方法//错误 是属性
B.获取字符串的长度用length属性//错误 是方法
C.获取集合ArrayList的长度用length方法//错误 用size();方法
D.获取数组的长度用length属性//正确
E.获取字符串的长度用length方法//正确
F.获取集合ArrayList的长度用length属性//错误
G.获取集合ArrayList的长度用size属性//错误
H.获取集合ArrayList的长度用size方法//正确
5.定义一个学生类Student,包含三个属性姓名、年龄、性别,创建三个学生对象存入ArrayList集合中。
A:遍历集合遍历输出。
B:求出年龄最大的学生,让后将该对象的姓名变为:葫芦娃。
6.定义一个手机