商店管理系统

package edu.xcdq.Demo406;

/**
 * @author zhangshenrui
 * @date 2021/4/6 14:51
 */

import java.util.Scanner;

/**
 * 商品管理员
 */
public class ArticleManade {
    //创建一个实体的仓库对象,并初始化
    ArticleSet articleSet = new ArticleSet();

    //初始化仓库,放入初始商店
    public void initial(){
        Article xiaomi11 = new Article();
        xiaomi11.setArticle("小米11" , 30 , 1999 , 0);

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

        Article xiaomiUltra = new Article();
        xiaomiUltra.setArticle("小米增强版",50,3999,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("******************************");

            Scanner scanner = new Scanner(System.in);
            System.out.println("请输入你要执行的功能");
            int funNo = scanner.nextInt();
            switch (funNo){
                case 1 -> {System.out.println("1 查看商品信息"); chakan();}
                case 2 -> {System.out.println("2 新增商品信息"); add();}
                case 3 -> {System.out.println("3 删除商品信息"); delete();}
                case 4 -> {System.out.println("4 卖出商品信息"); sell();}
                case 5 -> {System.out.println("5 销售排行榜"); paihangbang();}
                case 6 -> {System.out.println("6 退出"); flag = false; break;}
            }
        }while (flag);
    }
    public void paihangbang(){
        //排序  (冒泡排序)
        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].number ){
                    if ( articleSet.articles[j].number < articleSet.articles[j+1].number){
                        //交换位置
                        Article tempArticle = articleSet.articles[j];
                        articleSet.articles[j] = articleSet.articles[j+1];
                        articleSet.articles[j+1] = tempArticle;
                    }
                }
            }
        }
        //打印排行榜
        System.out.println("**********排行榜**********");
        System.out.println("名次 \t 销售数量 \t 商品品种");
        for ( int i = 0 ; i < articleSet.articles.length; i++){
            if ( articleSet.articles[i] !=null ){
                System.out.println( (i+1) + "\t" + articleSet.articles[i].number + "\t" + articleSet.articles[i].name);
            }
        }
    }
    public void sell(){
        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[i].amount - shoumai ;
                    articleSet.articles[i].number = articleSet.articles[i].number + shoumai ;
                }
                System.out.println("售卖成功");
                break;
            }
        }
    }
    public void delete(){
        System.out.println("请输入你要删除的商品编号:");
        Scanner scanner = new Scanner(System.in);
        int delNo = scanner.nextInt();
        for (int i = 0 ; i < articleSet.articles.length; i ++){
            if ( articleSet.articles[i] !=null ){
                int j = i ;
                while ( articleSet.articles[j+1] !=null ){
                    articleSet.articles[j] = articleSet.articles[j+1];
                    j++;
                }
                articleSet.articles[i] = null;
                System.out.println("删除成功");
                break;
            }
        }
    }
    public void chakan(){
        System.out.println("编号 \t 名称 \t 单价 \t 库存 \t 已售");
        for ( int i = 0; i < articleSet.articles.length; i++){
            if ( articleSet.articles[i] !=null ){
                articleSet.articles[i].print(i+1);
            }
        }
    }
    public void add(){
        System.out.println("请输入商品名称:");
        Scanner scanner = new Scanner(System.in);
        String name = scanner.next();
        System.out.println("输入价格:");
        double price = scanner.nextDouble();
        System.out.println("输入库存:");
        int cukun = scanner.nextInt();
        System.out.println("已卖出数量:");
        int maichu = scanner.nextInt();

        Article newArticle = new Article();
        newArticle.setArticle(name , (int) price, cukun , maichu);

        for ( int i = 0 ; i < articleSet.articles.length; i++){
            if (articleSet.articles[i] == null ){
                articleSet.articles[i] = newArticle;
                break;
            }
        }
    }


}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
连锁商店管理系统是一个用于管理多个连锁商店的软件系统。下面是一个简化的连锁商店管理系统的类图示例: 类图中包含以下几个主要的类和它们之间的关系: 1. 商店(Store)类:表示一个具体的商店,包含商店的名称、地址等属性,以及管理商品和订单的方法。 2. 商品(Product)类:表示商店中的商品,包含商品的名称、价格、库存等属性。 3. 订单(Order)类:表示商店的订单,包含订单号、下单时间、总金额等属性,以及处理订单的方法。 4. 客户(Customer)类:表示商店的客户,包含客户的姓名、联系方式等属性。 5. 支付(Payment)类:表示订单的支付方式,包含支付方式的类型、支付金额等属性。 6. 库存(Inventory)类:表示商店的库存,包含商品和对应的库存数量。 7. 促销活动(Promotion)类:表示商店的促销活动,包含活动的名称、开始时间、结束时间等属性。 8. 员工(Employee)类:表示商店的员工,包含员工的姓名、职位等属性。 9. 系统管理员(Admin)类:表示系统的管理员,具有管理商店、员工等功能。 10. 关联关系:商店商品之间存在关联关系,一个商店可以拥有多个商品商店与订单之间存在关联关系,一个商店可以有多个订单;订单与客户之间存在关联关系,一个订单对应一个客户;订单与支付方式之间存在关联关系,一个订单可以有多种支付方式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值