ITPub博客

首页 > 应用开发 > Java > [JAVA]JAVA复习第八日商店案例

[JAVA]JAVA复习第八日商店案例

原创 Java 作者:Taiaishua 时间:2018-06-26 00:29:57 0 删除 编辑

点击(此处)折叠或打开

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

  3. /*
  4.  * 超市管理系统主
  5.  * 实现:
  6.  * 1. 商品数据的初始化
  7.  * 2. 用户的菜单选择
  8.  * 3. 根据选择执行不同的功能
  9.  * 3.1 Read 查看商品
  10.  * 3.2 Create 添加商品
  11.  * 3.3 Delete 删除商品
  12.  * 3.4 Update 修改商品
  13.  *
  14.  *
  15.  * 所有功能 ,必须定义方法实现
  16.  * 主方法main 调用作用
  17.  */
  18. public class Shopp {

  19.     public static void main(String[] args) {
  20.         //创建ArrayList集合,存储商品类型,存储数据类型FruitItem类型
  21.         ArrayList<FruitItem> array = new ArrayList<FruitItem>();
  22.         //调用商品初始化方法,传递集合
  23.         init(array);
  24.         while(true){
  25.             //调用菜单方法
  26.             mainMenu();
  27.             //调用用户选择序号方法
  28.             int choose = chooseFunction();
  29.             switch (choose) {
  30.             case 1:
  31.                 //调用1: 货物 清单
  32.                 showFruitList(array);
  33.             break;
  34.             
  35.             case 2:
  36.                 //2: 添加货物
  37.                 addFruit(array);
  38.             break;
  39.             
  40.             case 3:
  41.                 //3: 删除货物
  42.                 deleteFruit(array);
  43.             break;
  44.             
  45.             case 4:
  46.                 //4: 修改货物
  47.                 updateFruit(array);
  48.             break;
  49.             
  50.             case 5:
  51.                 return ;

  52.             default:
  53.                 System.out.println("输入的序号没有");
  54.                 break;
  55.             }
  56.         }
  57.     }
  58.     /*
  59.      * 定义方法,实现商品的修改功能
  60.      * 返回值: 无
  61.      * 参数: 集合
  62.      *
  63.      * 提示用户选择的是修改功能
  64.      * 提示用户输入需要修改的商品编号
  65.      * 遍历集合,获取每个FruitItem变量
  66.      * 变量调用ID属性,属性和用户输入的编号比较
  67.      * 如果相同:
  68.      * 修改调FruitItem中的属性值
  69.      * 键盘输入
  70.      */
  71.     public static void updateFruit(ArrayList<FruitItem> array){
  72.         System.out.println("选择的是修改功能");
  73.         System.out.println("请输入商品的编号");
  74.         
  75.         Scanner sc = new Scanner(System.in);
  76.         int ID = sc.nextInt();
  77.         //遍历集合,获取每个FruitItem变量
  78.         for(int i = 0 ; i < array.size(); i++){
  79.             FruitItem item = array.get(i);
  80.             //获取FruitItem的属性ID,和用户输入的ID比较
  81.             if(item.ID == ID){
  82.                 System.out.println("输入新的商品编号");
  83.                 item.ID = sc.nextInt();
  84.                 
  85.                 System.out.println("输入新的商品名字");
  86.                 item.name = sc.next();
  87.                 
  88.                 System.out.println("输入新的商品价格");
  89.                 item.price = sc.nextDouble();
  90.                 System.out.println("商品修改成功");
  91.                 return ;
  92.             }
  93.         }
  94.         System.out.println("输入的编号不存在");
  95.     }
  96.     
  97.     /*
  98.      * 定义方法,实现商品的删除功能
  99.      * 返回值: 无
  100.      * 参数: 集合
  101.      *
  102.      * 删除依靠的是商品的编号
  103.      * 提示用户选择的是删除功能
  104.      * 键盘输入商品的编号
  105.      * 遍历集合,获取集合中的每个FruitItem变量
  106.      * 变量调用属性 ID, 和用户的输入的编号,对比,相同就删除
  107.      */
  108.     public static void deleteFruit(ArrayList<FruitItem> array){
  109.         System.out.println("选择的是删除功能");
  110.         System.out.println("请输入商品的编号");
  111.         Scanner sc = new Scanner(System.in);
  112.         
  113.         int ID = sc.nextInt();
  114.         //遍历集合
  115.         for(int i = 0 ; i < array.size(); i++){
  116.             //获取到每个FruitItem变量
  117.             FruitItem item = array.get(i);
  118.             //变量,调用属性ID,和用户输入的编号比较
  119.             if( item.ID == ID){
  120.                 //移除集合中的元素
  121.                 //集合的方法remove实现
  122.                 array.remove(i);
  123.                 System.out.println("删除成功");
  124.                 return;
  125.             }
  126.         }
  127.         System.out.println("你输入的编号不存在");
  128.     }
  129.     
  130.     /*
  131.      * 定义方法,实现商品的添加功能
  132.      * 返回值:无
  133.      * 参数: 集合
  134.      * 提示用户选择的是添加商品的功能
  135.      *
  136.      * 提示用户输入的是什么
  137.      *
  138.      * 创建FruitItem变量,变量调用的属性
  139.      * 将输入的每个商品属性进行赋值
  140.      */
  141.     public static void addFruit(ArrayList<FruitItem> array){
  142.         System.out.println("选择的是添加商品功能");
  143.         //创建Scanner变量
  144.         Scanner sc = new Scanner(System.in);
  145.         System.out.println("请输入商品的编号");
  146.         //输入商品的编号
  147.         int ID = sc.nextInt();
  148.         //输入商品的名字
  149.         System.out.println("请输入商品的名字");
  150.         String name = sc.next();
  151.         //输入商品的单价
  152.         System.out.println("输入商品的单价");
  153.         double price = sc.nextDouble();
  154.         //创建FruitItem变量
  155.         FruitItem item = new FruitItem();
  156.         //item.属性赋值
  157.         item.ID = ID;
  158.         item.name = name;
  159.         item.price = price;
  160.         array.add(item);
  161.         System.out.println("商品添加成功");
  162.     }
  163.     
  164.     /*
  165.      * 定义方法,实现显示货物清单功能
  166.      * 返回值: 无
  167.      * 参数: 集合
  168.      * 遍历集合,获取集合中的每个FruitItem变量,变量,调用属性
  169.      */
  170.     public static void showFruitList(ArrayList<FruitItem> array){
  171.         System.out.println();
  172.         System.out.println("================商品库存清单================");
  173.         System.out.println("商品编号 商品名称 商品单价");
  174.         //遍历集合
  175.         for(int i = 0 ; i < array.size(); i++){
  176.             //集合get方法,获取出每个FruitItem变量,可以使用FruitItem接受get结果
  177.             FruitItem item = array.get(i);
  178.             //变量item调用类中属性
  179.             System.out.println(item.ID+" "+item.name+" "+item.price);
  180.         }
  181.     }
  182.     
  183.     /*
  184.      * 定义方法,实现接受用户的键盘输入
  185.      * 返回编号
  186.      */
  187.     public static int chooseFunction(){
  188.         Scanner sc = new Scanner(System.in);
  189.         return sc.nextInt();
  190.     }
  191.     
  192.     /*
  193.      * 定义方法,实现主菜单
  194.      * 提示用户哪些选择 让选择序号
  195.      * 返回值: 无
  196.      * 参数: 无
  197.      */
  198.     public static void mainMenu(){
  199.         System.out.println();
  200.         System.out.println("============欢迎光临淼淼超市============");
  201.         System.out.println("1: 货物 清单 2: 添加货物 3: 删除货物 4: 修改货物 5: 退出");
  202.         System.out.println("请您输入要操作的功能序号");
  203.     }
  204.     
  205.     /*
  206.      * 定义方法,实现商品数据的初始化
  207.      * 先将一部分数据,存储集合中
  208.      * 返回值: 无
  209.      * 参数 : 集合
  210.      * 方法名: init
  211.      */
  212.     public static void init(ArrayList<FruitItem> array){
  213.         //创建出多个FruitItem类型,并且属性赋值
  214.         FruitItem f1 = new FruitItem();
  215.         f1.ID = 9527;
  216.         f1.name = "少林寺酥饼核桃";
  217.         f1.price = 12.7;
  218.         
  219.         FruitItem f2 = new FruitItem();
  220.         f2.ID = 9008;
  221.         f2.name = "尚康杂粮牡丹饼";
  222.         f2.price = 5.6;
  223.         
  224.         FruitItem f3 = new FruitItem();
  225.         f3.ID = 9879;
  226.         f3.name = "新疆原产哈密瓜";
  227.         f3.price = 599.6;
  228.         
  229.         //创建的3个FruitItem类型变量,存储到集合中
  230.         array.add(f1);
  231.         array.add(f2);
  232.         array.add(f3);
  233.     }
  234.     
  235. }


点击(此处)折叠或打开

  1. /*
  2.  * 自定义类, 描述商品信息
  3.  * 商品的属性
  4.  * 编号, int
  5.  * 品名, String
  6.  * 价格, double
  7.  * 数量, int
  8.  * 总价, double
  9.  *
  10.  * 商品类型,存储到集合ArrayList中
  11.  */
  12. public class FruitItem {
  13.     // 商品号
  14.     int ID;
  15.     // 商品名字
  16.     String name;
  17.     // 单价
  18.     double price;
  19.     // 数量
  20.     int number;
  21.     // 总金额
  22.     double money;
  23. }




来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31537584/viewspace-2156637/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: [JAVA]JAVA第十一日
请登录后发表评论 登录
全部评论

注册时间:2018-05-16

  • 博文量
    55
  • 访问量
    51691