/*
管理员能够进行的操作有3项(查看、修改、退出),
我们可以采用(switch)菜单的方式来完成。
-------------库存管理------------
1.查看库存清单
2.修改商品库存数量
3.退出
请输入要执行的操作序号:
每一项功能操作,我们采用方法进行封装,这样,可使程序的可读性增强。
选择1.查看库存清单”功能,则控制台打印库存清单
选择2.修改商品库存数量”功能,则对每种商品库存数进行更新
选择3.退出”功能,则退出库存管理,程序结束
使用集合来存取商品信息
*/
import java.util.ArrayList;
import java.util.Scanner;
public class Shop{
public static void main(String[] args){
//定义集合,存储的是Laptop类型变量
ArrayList<Laptop> array = new ArrayList<Laptop>();
add(array);
while(true){
int choose = chooseFunction();
switch(choose){
//查看库存清单
case 1:
printArrayList(array);
break;
case 2:
changeCount(array);
break;
case 3:
return;
default:
System.out.println("Sorry,暂时不提供此功能");
break;
}
}
}
/*
修改商品库存数量
*/
public static void changeCount(ArrayList<Laptop> array){
for(int i = 0;i < array.size(); i++){
Laptop b = array.get(i);
Scanner s = new Scanner(System.in);
System.out.print("要修改商品"+b.brand+"的库存是:");
b.count = s.nextInt();
}
}
/*
查看库存清单”功能,则控制台打印库存清单
*/
public static void printArrayList( ArrayList<Laptop> array){
int totalCount = 0;
double totalMoney = 0;
for(int i = 0;i < array.size() ; i++){
//存储集合的时候,集合add(b1) b1 是Name类型变量
//获取的时候,集合get方法,获取出来的是什么
Laptop b = array.get(i);
System.out.println(b.brand+" "+b.size+" "+b.price+" "+b.count);
totalCount += b.count;
totalMoney += b.price*b.count;
}
System.out.println("库存总数:"+totalCount);
System.out.println("库存商品总金额:"+totalMoney);
}
/*
定义方法,实现向集合中添加品牌,
*/
public static void add(ArrayList<Laptop> array){
Laptop b1 = new Laptop();
Laptop b2 = new Laptop();
Laptop b3 = new Laptop();
b1.brand = "MacBookAir";
b1.size = 13.3 ;
b1.price = 6988.88;
b1.count = 5;
b2.brand = "Thinkpad T450";
b2.size = 14.0 ;
b2.price = 5999.99;
b2.count = 10;
b3.brand = "Asus-FL5800";
b3.size = 15.6 ;
b3.price = 4999.5;
b3.count = 18;
//将laptop变量存到集合中
array.add(b1);
array.add(b2);
array.add(b3);
}
/*
库存管理界面
@return返回用户选择的功能
*/
public static int chooseFunction(){
System.out.println("-------------库存管理------------");
System.out.println("1.查看库存清单");
System.out.println("2.修改商品库存数量");
System.out.println("3.退出");
System.out.println("请选择您要使用的功能:");
Scanner ran = new Scanner(System.in);
int number = ran.nextInt();
return number;
}
}
要注意加上 import 引用的类 可以避免编译找不到符号的错误
定义一个名为Laptop的类
/*
建立一个类:电脑
包含的属性:品牌 尺寸 价格 库存数
*/
public class Laptop{
String brand;//品牌
double size;//尺寸
double price;//价格
int count;//库存数
}
得到的结果是: