zoukankan      html  css  js  c++  java
  • 简单的超市库存管理系统

    案例需求分析

    根据案例介绍,我们进行分析,首先需要一个功能菜单,然后输入功能序号后,调用序号对应的功能方法,实现想要的操作。分析步骤如下

    1.完成超市商品初始化。创建商品,将商品添加到集合

    2.显示来到超市能做的操作,也就是显示主菜单

    3.根据接收到的功能选项,执行对应的功能

    3.1.库存货物查询

    3.2.添加新货物 

    3.3.删除货物

    3.4.修改货物

    3.5.退出系统,结束main方法的运行

    4.循环,回到 2.显示主菜单

     

     

    package com.oracle.store;
    import java.util.ArrayList;
    import java.util.Scanner;
    public class shop {
    public static void main(String[] args) {
    ArrayList<Goods> list=new ArrayList<Goods>();
    Scanner sc=new Scanner(System.in);
    while(true){
    MainMenu();
    int num=sc.nextInt();
    switch(num){
    case 1:QueryGoods(list);
    break;
    case 2:AddGoods(list);
    break;
    case 3:DeleteGoods(list);
    break;
    case 4:updateGoods(list);
    break;
    case 5:
    return;
    default:
    break;
    }
    }
    }
    // 主菜单
    public static void MainMenu(){
    System.out.println("===========欢迎光临oracle超市============");
    System.out.println("1.货物清单");
    System.out.println("2.添加货物");
    System.out.println("3.删除货物");
    System.out.println("4.修改货物");
    System.out.println("5.退出系统");
    System.out.println("请输入您的选择:");
    }
    // 新增商品
    public static void AddGoods(ArrayList<Goods>list){
    Scanner sc=new Scanner(System.in);
    Goods goods=new Goods();
    System.out.println("请输入新商品编号:");
    int id=sc.nextInt();
    System.out.println("请输入商品名称:");
    String name=sc.next();
    System.out.println("请输入商品价格:");
    double price=sc.nextDouble();
    // 将变量的值赋给goods对象
    goods.gid=id;
    goods.gname=name;
    goods.price=price;
    // 将对象添加到集合中
    list.add(goods);
    }
    // 查询库存清单
    public static void QueryGoods(ArrayList<Goods>list){
    System.out.println("=================商品库存清单================");
    System.out.println("商品编号 商品名称 商品价格");
    for(int i=0;i<list.size();i++){
    System.out.println(list.get(i).gid+" "
    +list.get(i).gname+" "+
    list.get(i).price);
    }
    }
    // 删除商品
    public static void DeleteGoods(ArrayList<Goods>list){
    // 先查询所有商品
    QueryGoods(list);
    Scanner sc=new Scanner(System.in);
    System.out.println("请输入您要删除的商品编号:");
    int num=sc.nextInt();
    for(int i=0;i<list.size();i++){
    // 如果该对象的编号是用户要删除的编号则找到该对象
    if(list.get(i).gid==num){
    // 在集合中删除该对象所在的下标即可
    list.remove(i);
    }
    }
    System.out.println("删除商品成功!");
    }
    // 修改商品信息
    public static void updateGoods(ArrayList<Goods>list){
    // 先查询所有商品信息
    QueryGoods(list);
    Scanner sc=new Scanner(System.in);
    System.out.println("请输入您要修改的商品编号:");
    int num=sc.nextInt();
    System.out.println("请输入您要修改的商品名称:");
    String name=sc.next();
    System.out.println("请输入您要修改的商品价格:");
    double price=sc.nextDouble();
    Goods goods=new Goods();
    goods.gid=num;
    goods.gname=name;
    goods.price=price;
    // 找到商品编号为num的那个下标
    for(int i=0;i<list.size();i++){
    if(num==list.get(i).gid){
    list.set(i,goods);
    }
    }
    }

    }

  • 相关阅读:
    2010年8月26日周四_understanding ArcGIS Server_overview_8.1
    2010年8月23日周一_FeatureLayer_6.13
    2010年8月22日周日_StylingAndSkinningScaleBar_6.12
    2010年8月26日周四_underStanding Flex_FlexComponets_7.4
    Flex组件的项目渲染器(ItemRenderer)使用总结
    2010年8月26日周四_understanding Flex_componentsLifeCycle_7.5
    2010年8月26日周四_understanding Flex_MXML and ActionScript_7.2
    缺页中断
    后缀式
    lua continue
  • 原文地址:https://www.cnblogs.com/gaowc/p/10365763.html
Copyright © 2011-2022 走看看