黑马程序员技术交流社区
标题:
Day08 在Eclipse中重构 超市货物库存管理
[打印本页]
作者:
gqx1990
时间:
2016-8-25 12:25
标题:
Day08 在Eclipse中重构 超市货物库存管理
import java.util.ArrayList;
import java.util.Scanner;
public class Supermarket {
public static void main(String[] args) {
ArrayList<Goodsitem> list = new ArrayList<Goodsitem>();
//以下为各方法调用
init(list);
while (true) {
mainMenu();//此处为显示主菜单
int n = chooseFunction();//此处为录入客户的输入序号
switch (n) {
case 1://1 选择货物清单,此处调用
goodsList(list);
break;
case 2://2 添加新货物
addGoods(list);
break;
case 3://3 删除货物
deleteGoods(list);
break;
case 4://修改货物
modifyGoods(list);
break;
case 5://退出
return ;
default:
System.out.println("您输入的序号不存在!!");
break;
}
}
}
//方法1,此处需要存储三种商品的信息
public static void init(ArrayList<Goodsitem> list) {
Goodsitem g1 = new Goodsitem();
g1.name = "五仁月饼";
g1.ID = 1001;
g1.price = 15.6;
Goodsitem g2 = new Goodsitem();
g2.name = "糖水罐头";
g2.ID = 1002;
g2.price = 9.9;
Goodsitem g3 = new Goodsitem();
g3.name = "东北大米";
g3.ID = 1003;
g3.price = 39.9;
list.add(g1); //将商品信息添加到集合中
list.add(g2);
list.add(g3);
}
//方法2:此处设置选择菜单
public static void mainMenu() {
System.out.println("=====欢迎光临itCast超市=====");
System.out.println("1.货物清单 2.添加新货物 3.删除货物 4.修改货物 5.退出系统");
System.out.println("请输入您要选择的功能序号");
}
//方法3:录入客户的输入请求
public static int chooseFunction() {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
return n;
}
//方法4:此处需要打印欢迎界面以及货物清单
public static void goodsList(ArrayList<Goodsitem> list) {
System.out.println("=====商品库存管理=====");
System.out.println("商品编号 商品名称 商品单价");
//此处需要打印获取清单,即遍历集合
for (int i = 0; i < list.size(); i++) {
Goodsitem good = list.get(i); //获取集合中索引为i的元素信息
System.out.println(good.ID+good.name+good.price);
}
}
//方法5:添加新货物
public static void addGoods(ArrayList<Goodsitem> list) {
System.out.println("请输入货物的ID");
Scanner sc = new Scanner(System.in);//键盘录入多个数据,创建一个键盘录入实例即可
int id1 = sc.nextInt();
System.out.println("请输入货物的name");
String name1 = sc.next();
System.out.println("请输入货物的price");
Double price1 = sc.nextDouble();
Goodsitem goods = new Goodsitem();
goods.ID = id1;
goods.name = name1;
goods.price = price1;
list.add(goods);//保存goods商品到集合
}
//方法6:删除货物
public static void deleteGoods(ArrayList<Goodsitem> list) {
System.out.println("请输入要删除的货物ID");
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
//此处需要遍历集合,找到ID为num的元素
for (int i = 0; i < list.size(); i++) {
Goodsitem deteleGoods = list.get(i);
if (deteleGoods.ID==num) {
list.remove(i); //删除索引为i的元素
System.out.println("删除货物成功!");
return; //此处如果是break,后面的没有找打ID,依然会执行。
}
}
System.out.println("警告:没有找到此ID");//词句如果加在if后的else内部,会输出三遍
}
//方法7:修改货物信息
public static void modifyGoods(ArrayList<Goodsitem> list) {
System.out.println("请输入要修改货物的ID");
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
for (int i = 0; i < list.size(); i++) {
Goodsitem modifyGoods = list.get(i);
if (modifyGoods.ID==num) {
System.out.println("请输入新货物ID");
// modifyGoods.ID =sc.nextInt();
int ID = sc.nextInt();
System.out.println("请输入新货物name");
// modifyGoods.name =sc.next();
String name = sc.next();
System.out.println("请输入新货物price");
// modifyGoods.price =sc.nextDouble();
Double price = sc.nextDouble();
modifyGoods.ID = ID;
modifyGoods.name = name;
modifyGoods.price = price;
System.out.println("商品信息更新完成");
return ;
}
}
System.out.println("输入的编号不存在");
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2