仓库管理

初始化

{
    ArticleSet articleSet=new ArticleSet();

        //仓库初始化,放入一些商品
     public void initial(){
        Article xiaomi11=new Article();
       /* xiaomi11.name="小米11";
        xiaomi11.number=30;
        xiaomi11.amount=0;
        xiaomi11.price=1999;*/

        xiaomi11.setArticle("小米11",1999,30,0);

        Article xiaomi11pro=new Article();
        xiaomi11pro.setArticle("小米11pro",2999,10,0);

        Article xiaomiUltra=new Article();
        xiaomiUltra.setArticle("小米至尊版",3999,20,0);

        articleSet.articles[0]=xiaomi11;
        articleSet.articles[1]=xiaomi11pro;
        articleSet.articles[2]=xiaomiUltra;
     }

启动菜单

     public void startMenu(){

         boolean flag=true;
         do {
             System.out.println("********************");
             System.out.println("1 查看商品信息");
             System.out.println("2 新增商品信息");
             System.out.println("3 删除商品信息");
             System.out.println("4 卖出商品");
             System.out.println("5 商品销售排行榜");
             System.out.println("6 退出");
             System.out.println("********************");

             System.out.println("请输入功能编号");
             Scanner scanner=new Scanner(System.in);
             int funNo=scanner.nextInt();
             switch (funNo){
                 case 1:
                     System.out.println("查看商品信息");
                     chakan();
                     break;
                 case 2:
                     System.out.println("新增商品信息");
                     add();
                     break;
                 case 3:
                     System.out.println("删除商品信息");
                     delete();
                     break;
                 case 4:
                     System.out.println("卖出商品");
                     seleOut();
                     break;
                 case 5:
                     System.out.println("排行榜");
                     leadeBand();
                     break;
                 case 6:
                     System.out.println("谢谢,已经退出");
                     exit();
                     flag=false;
                     break;
                 default:
                     System.out.println("您输入的功能编号有错误");
                     break;
             }
         }while (flag);
     }

查看商品信息

     private void chakan() {
         System.out.println("编号\t名字\t\t单价\t\t库存\t已售");
         for (int i=0;i<articleSet.articles.length;i++){
             if (articleSet.articles[i] !=null){
                 articleSet.articles[i].print(i);
             }
         }
     }

排行榜

     private void leadeBand() {
        /*降序排序
            for() 所有元素全部参与排序
                for() 当前元素只和后边的元素比较
                    if(当前元素<后续元素)
                        交换位置
         */

                    //排序(冒泡排序)
         for (int i=0;i<articleSet.articles.length-1;i++){
             for (int j=0;j<articleSet.articles.length-i-1;j++){
                 if (articleSet.articles[j] !=null&&articleSet.articles[j+1] !=null){//数组中不为null才能参与排序
                     if (articleSet.articles[j].number<articleSet.articles[j+1].number){
                         Article newTemp=articleSet.articles[j];//新定义一个临时变量,实现两个数量交换位置
                         articleSet.articles[j]=articleSet.articles[j+1];
                         articleSet.articles[j+1]=newTemp;
                     }
                 }
             }
         }
         //打印结果
         for (int i=0;i<articleSet.articles.length;i++){
             if (articleSet.articles[i]!=null){
                System.out.println((i+1)+"\t"+articleSet.articles[i].name+"\t"+articleSet.articles[i].number);
            }
        }
    }

卖出商品

    private void seleOut() {
        /*
            接受用户的输入,找到要卖出的商品在数组中的位置,修改对应的库存
            sout(请输入要销售的商品名称)
            sc=new Scanner
            name=sc.next();
            for()
                if(元素不为null&&.name equals(name) )//在数组的有值元素中 找到售出商品名字相同的位置
                sout (输入卖出的数量:)
                sc.nextInt()
                if(卖出的数量<库存[i].anmout)
                    库存【i】.amount=【i】.amount-卖出的数量
                    售出【i】.number=【i】.number+卖出的数量
                    sout(卖出成功)
                    break;跳出循环,后续的位置无需处理
         */

        System.out.println("请输入你要售出的商品名称:");
        Scanner scanner=new Scanner(System.in);
        String name=scanner.next();
        for (int i=0;i<articleSet.articles.length;i++){
            if ((articleSet.articles[i].name).equals(name)){
                System.out.println("请输入你要售出的数量:");
                int shoumai=scanner.nextInt();
                if (shoumai<articleSet.articles[i].amount){
                    articleSet.articles[i].amount=articleSet.articles.length;
                    articleSet.articles[i].number=articleSet.articles.length;
                }
                System.out.println("售卖成功");
                break;
            }
        }
    }

删除商品信息

    private void delete() {
        /*
            sout("请输入你要删除的商品编号")
            new Scanner()
            编号=sc.nextInt()
            // 在数组中找到对应的商品,删除
            for()
                if(在数组中不为null的元素中查找&& 编号==i+1)
                //删除i位置的元素(具体操作:把后面的元素向前移动,覆盖掉要删除的元素)
                while (要删除的元素的后一个元素 !=null)
                    前面的元素=后面的元素
                    j++
                //手动处理最后一个元素
                [j]=null;

                break;      //后续null元素直接跳过

        */
        System.out.println("请输入要删除的商品编号:");
        Scanner scanner=new Scanner(System.in);
        int bianhao=scanner.nextInt();
        boolean flag=true;
        for (int i=0;i<articleSet.articles.length;i++){
            if (articleSet.articles[i] !=null && (i+1)==bianhao){
                int j=i;
                while (articleSet.articles[j+1] !=null){
                    //后面的元素向前移动
                    articleSet.articles[j]=articleSet.articles[j+1];
                    j++;
                }
                articleSet.articles[j] =null;
                flag=true;
                break;  // 后续的空数组元素没有必要执行
            }else {
                flag=false;
            }
        }
        if (flag){
            System.out.println("删除成功");
        }else {
            System.out.println("删除失败");
        }
    }

新增商品信息

    private void add() {
        /*
            定义键盘扫描器
            提示用户输入商品名称
            接受用户输入 商品名称
            提示输入价格 库存
            按收以上数据

            new Article()
            newArticle.setArticle(接受名称,价格,库存,0)

            添加到数组中
                for()
                    if (article[i]==null)第一个为空的数组元素
                        ariticle[i]=newArticle 存在第一个为空的数组位置
                   break 跳出后续的空格位置
        */
        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入商品的名称:");
        String name=scanner.next();
        System.out.println("请输入商品的单价:");
        double price=scanner.nextDouble();
        System.out.println("请输入商品的库存:");
        int count=scanner.nextInt();
        System.out.println("请输入已买的数量:");
        int number=scanner.nextInt();

        Article newArticle=new Article();
        newArticle.setArticle(name,price,count,number);

        for(int i=0;i<articleSet.articles.length;i++){
           if (articleSet.articles[i]==null){
               articleSet.articles[i]=newArticle;//把新建的对象放在数组中的第一个空位置
               break;//后续的空位置直接跳过
           }
        }
    }

退出

    public void exit(){
        System.out.println("谢谢使用,系统即将退出!");
    }

}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。

推荐阅读更多精彩内容