A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© jianhua0798 中级黑马   /  2016-6-12 23:04  /  403 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. import java.util.ArrayList;
  2. import java.util.Scanner;

  3. public class StoreList {
  4.         public static void main(String[] args) {
  5.                 //定义一个集合,存储商品对象
  6.                 ArrayList<FruitItem>fruitList = new ArrayList<>();
  7.                
  8.                 //启动程序,先初始化一部分商品
  9.                 init(fruitList);
  10.                
  11.                 //列出菜单
  12.                 do {
  13.                         System.out.println("1.查看所有商品\t2.添加商品信息\t3.修改商品\t4.删除商品\t5.退出系统");
  14.                         Scanner sc = new Scanner(System.in);
  15.                         int op = sc.nextInt();
  16.                         switch (op) {
  17.                         case 1:// 查看所有商品
  18.                                 printAll(fruitList);
  19.                                 break;
  20.                         case 2: // 添加商品
  21.                                 addFruit(fruitList);
  22.                                 break;
  23.                         case 3: // 修改商品
  24.                                 change(fruitList);
  25.                                 break;
  26.                         case 4: // 删除商品
  27.                                 removeFruit(fruitList);
  28.                                 break;
  29.                         case 5: // 退出
  30.                                 System.out.println("谢谢光临!");
  31.                                 System.exit(0);
  32.                                 break;
  33.                         default:
  34.                                 break;
  35.                         }
  36.                
  37.                 }while(true);
  38.         }
  39.         private static void removeFruit(ArrayList<FruitItem> fruitList) {
  40.                 //创建控制输入对象
  41.                 Scanner sc = new Scanner(System.in);
  42.                 System.out.println("请输入您要删除的商品编号");
  43.                 //接收永华输入的信息
  44.                 int id  = sc.nextInt();
  45.                 //遍历集合
  46.        
  47.                 for(int i = 0;i < fruitList.size();i++){
  48.                         //获取索引
  49.                         FruitItem item = fruitList.get(i);
  50.                         //判断用户输入的信息与集合中的信息是否重复
  51.                         if(item.id == id){
  52.                                 //调用ArrayList中的一个方法:remove(int index)
  53.                                 fruitList.remove(i);
  54.                                 System.out.println("商品已删除成功");
  55.                                 return;
  56.                         }
  57.                                
  58.                 }
  59.                 System.out.println("您输入的商品编号"+id+"不存在");
  60.                
  61.         }
  62.         //创建一个方法,完成添加商品的功能
  63.         private static void addFruit(ArrayList<FruitItem> fruitList) {
  64.                 Scanner sc = new Scanner(System.in);

  65.                 int id = 0;
  66.                 summer:
  67.                 while (true) {
  68.                         System.out.println("请输入要添加的商品编号");
  69.                         id = sc.nextInt();
  70.                         for (int i = 0; i < fruitList.size(); i++) {
  71.                                 FruitItem item = fruitList.get(i);
  72.                                 if (item.id == id) {
  73.                                         System.out.println("您输入的编号"+id+"已存在");
  74.                                         continue summer;
  75.                                 }
  76.                         }
  77.                         break;
  78.                 }
  79.                         //向集合中添加商品信息
  80.                         System.out.println("请输入要添加的商品名称");
  81.                         String name = sc.next();
  82.                         System.out.println("请输入要添加的商品单价");
  83.                         double price = sc.nextDouble();
  84.                         System.out.println("请输入要添加的商品数量");
  85.                         double count = sc.nextDouble();
  86.                        
  87.                         //将添加的对象封装到集合中
  88.                         FruitItem item = new FruitItem();
  89.                         item.id  = id;
  90.                         item.name  = name;
  91.                         item.price = price;
  92.                         item.count  =count;
  93.                         item.money = price * count;
  94.                        
  95.                         //将封装的对象存储到集合中去
  96.                         fruitList.add(item);
  97.                        
  98.                         System.out.println("商品添加成功!!");
  99.         }
  100.                
  101.                 //修改商品信息
  102.                 private static void change(ArrayList<FruitItem> fruitList) {
  103.                 Scanner sc = new Scanner(System.in);
  104.                 //定义要修改的商品编号
  105.                 System.out.println("请输入要修改的商品编号");
  106.                 int id =sc.nextInt();
  107.                 //遍历
  108.                 for(int i = 0;i < fruitList.size();i++){
  109.                         //获取索引
  110.                         FruitItem item = fruitList.get(i);
  111.                         if(item.id == id){
  112.                                 System.out.println("请输入要修改的商品名称");
  113.                                 String name = sc.next();
  114.                                 System.out.println("请输入要修改的商品单价");
  115.                                 double price = sc.nextDouble();
  116.                                 System.out.println("请输入要修改的商品数量");
  117.                                 double count = sc.nextDouble();
  118.                                
  119.                                 //将原集合中的item对象中各属性的值覆盖
  120.                                 item.name = name;
  121.                                 item.price = price;
  122.                                 item.count = count;
  123.                                 item.money =price * count;
  124.                        
  125.                                 System.out.println("商品信息修改已完成!");
  126.                                 return;
  127.                         }
  128.                
  129.                 }
  130.                 System.out.println("您输入的商品编号"+id+"未找到");
  131.                
  132.         }
  133.                
  134.                 //定义一个方法,查看所有商品               
  135.         private static void printAll(ArrayList<FruitItem> fruitList) {
  136.                 System.out.println("====================库存商品清单==============================");
  137.                 System.out.println("商品编号\t\t商品名称\t\t商品单价\t商品数量\t商品总金额");
  138.                 //遍历集合
  139.                 for (int i = 0; i < fruitList.size(); i++) {
  140.                         //获取集合中 的每一个元素
  141.                         FruitItem item = fruitList.get(i);
  142.                         System.out.println(item.id + "\t\t" + item.name + "\t\t" + item.price + "\t" + item.count + "\t" + item.money);
  143.                 }
  144.                 System.out.println("===========================================================");
  145.         }

  146.         private static void init(ArrayList<FruitItem> fruitList) {
  147.                 //定义第一个商品信息
  148.                 FruitItem item1 = new FruitItem();
  149.                 item1.id= 9527;
  150.                 item1.name = "南方蜜桔";
  151.                 item1.price = 20.0;
  152.                 item1.count = 200;
  153.                 item1.money = item1.count * item1.price;
  154.                 //定义第二个商品信息
  155.                 FruitItem item2 = new FruitItem();
  156.                 item2.id = 9528;
  157.                 item2. name = "金华火腿";
  158.                 item2.price = 200.0;
  159.                 item2.count = 1000;
  160.                 item2.money = item2.price * item2.count;
  161.                 //定义第三个商品信息
  162.                 FruitItem item3 = new FruitItem();
  163.                 item3.id = 9529;
  164.                 item3.name = "金华酥饼";
  165.                 item3.price = 5.0;
  166.                 item3.count = 200;
  167.                 item3.money = item3.price * item3.count;
  168.                
  169.                 //将商品添加到集合
  170.                 fruitList.add(item1);
  171.                 fruitList.add(item2);
  172.                 fruitList.add(item3);

  173.                
  174.         }

  175. }
复制代码


1 个回复

正序浏览
  1. public class FruitItem {
  2.         int id;
  3.         String name;
  4.         double price;
  5.         double count;
  6.         double money;
  7.        

  8. }
复制代码


回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马