商城后台管理系统

实现步骤
步骤1:数据初始化
(1)创建项目ArticleManage,创建类Article,添加4个属性,一个方法展示商品信息

public class Article {
    public String name; // 商品名称
    public int amount; // 商品库存数量
    public double price; // 商品价格
    public int number; // 商品售出数量

/**
*商品信息展示
*/
 public void print(int index) {
        System.out.print(index+"\t"+name+"\t"+price+"\t"+amount+"\t"+number);
    }

(2)创建ArticleSet类,并在类中定义1个长度为50的数组保存商品

public class ArticleSet {
    Article[] articles = new Article[50];
}

(3)创建ArticleManage,创建ArticleSet对象articleSet,实现初始化数据的方法initial(),初始化4件商品的信息

/*
 * 商品管理类
 * */
public class ArticleManage {
    ArticleSet articleSet = new ArticleSet();
    Scanner input = new Scanner(System.in);
    /*
     * 初始化商品
     * */
    public void initial() {
        Article xiaoMi9 = new Article();
        xiaoMi9.name = "小米9";
        xiaoMi9.price = 2799 ;
        xiaoMi9.amount = 60 ;
        xiaoMi9.number = 0;
        Article xiaoMiMIX3 = new Article();
        xiaoMiMIX3.name = "小米8";
        xiaoMiMIX3.price = 2049 ;
        xiaoMiMIX3.amount = 40;
        xiaoMiMIX3.number = 0;
        Article redMiNote7Pro = new Article();
        redMiNote7Pro.name = "Redmi 7";
        redMiNote7Pro.price = 699;
        redMiNote7Pro.amount = 80;
        redMiNote7Pro.number = 0;
        Article xiaoMiPlay = new Article();
        xiaoMiPlay.name = "小米6X";
        xiaoMiPlay.price = 749;
        xiaoMiPlay.amount = 100 ;
        xiaoMiPlay.number = 0;
        articleSet.articles[0] = xiaoMi9;
        articleSet.articles[0] = xiaoMiMIX3;
        articleSet.articles[0] = redMiNote7Pro;
        articleSet.articles[0] = xiaoMiPlay;
    }

步骤2:实现菜单切换
在ArticleManage类中编写菜单显示和菜单切换的startMenu方法,代码如下:

/**
   *菜单切换
 */
    public void startMenu() {
        boolean flag = true ; // 是否操作
        do {
            System.out.print("欢迎使用前程商城后台管理系统");
            System.out.print("------------------------------------------------------");
            System.out.print("1. 查看商品信息");
            System.out.print("2. 新增商品信息");
            System.out.print("3. 删除商品信息");
            System.out.print("4. 卖出商品");
            System.out.print("5. 商品销售排行榜");
            System.out.print("6. 退出");
            System.out.print("------------------------------------------------------");
            System.out.print("请选择要执行的操作: ");
            int choice = input.nextInt();
            switch (choice) {
                case 1:
                    System.out.print("查看商品信息");
                    break;
                    case 2:
                    System.out.print("新增商品信息");
                    break;
                case 3:
                    System.out.print("删除商品信息");
                    break;
                case 4:
                    System.out.print("卖出商品");
                    break;
                case 5:
                    System.out.print("商品销售排行榜");
                    break;
                case 6:
                    System.out.print("谢谢使用");
                    flag = false;
                    break;
                default:
                    System.out.print("输入不符合要求请重新选择");
                    break;
            }
        }while (flag);
    }

在测试类中编写程序入口,实例化ArticleManage并实现initial方法和startMenu方法
测试类代码

/**
 * 测试类
 */
public class Demo {
    public static void main(String[] args) {
        ArticleManage articleManage = new ArticleManage();
        articleManage.initial();
        articleManage.startMenu();
    }
}

步骤3:实现查看商品信息
在ArticleManage类中编写查看商品信息的search方法,并在startMenu方法中输入1时调用search方法

/**
   *查看商品信息
  */
    public void search() {
        System.out.print("编号\t名称\t价格\t库存\t售出");
        for (int i = 0; i < articleSet.articles.length; i++) {
            if (articleSet.articles[i] != null ){
                articleSet.articles[i].price(i+1);
            }
        }
    }

步骤4:实现新增商品信息
在ArticleManage类中编写添加商品信息的add方法,并在startMenu方法中输入2时调用search方法

/**
  * 新增商品
 */
    public void add() {
        System.out.print("请输入商品名称: ");
        String name = input.next();
        System.out.print("请输入价格: ");
        int price = input.nextInt();;
        System.out.print("请输入库存: ");
        int amount = input.nextInt();
        Article article = new Article();
        article.name = name;
        article.price = price;
        article.amount = amount;
        article.number = 0;
        for (int i<0; i< articleSet.articles.length; i++){
            if (articleSet.articles[i]==nell){
                 articleSet.articles[i]=article;
                 break;   

          }
        }
      }

步骤5:实现删除商品信息
在ArticleManage类中编写删除商品信息的delete方法,并在startMenu方法中输入3时调用delete方法

/**
    * 删除商品
  */
    public void delete(){
        System.out.print("请输入商品编号: ");
        boolean flag = true; // 是否删除成功
        int card = input.nextInt();
        for (int i = 0; i < articleSet.articles.length; i ++) {
            if (articleSet.articles[i] != null&&(i+1)==card){
                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.print("删除成功! ");
        }else {
            System.out.print("删除失败,请重新操作! ");
        }
    }

步骤6:实现商品销售的业务处理
在ArticleManage类中编写卖出商品的sell方法,并在startMenu方法中输入4时调用sell方法

/**
      *销售业务
     */
    public void sell(){
        System.out.print("请输入你要卖出的商品名称: ");
        String name = input.next();
        boolean flag = true ; //是否卖出成功
        for (int i = 0 ; i < articleSet.articles.length; i++) {
            if (articleSet.articles[i] != null
            && articleSet.articles[i].name.equals(name)){
                System.out.print("请输入您要卖出的数量");
                int number = input.nextInt();
                if (number <= articleSet.articles[i].amount) {
                    articleSet.articles[i].number = articleSet.articles[i].number+number;
                    articleSet.articles[i].amount = articleSet.articles[i].amount-number;
                    flag = true;
                }else {
                    System.out.print("商品数量不够,请抓紧进货! ");
                    flag = false;
                }
                break;
            }else {
                flag = false;
            }
        }
        if (flag){
            System.out.print("卖出商品成功!");
        }else {
            System.out.print("卖出商品失败!");
        }
    }

步骤7:实现商品销售排行榜
在ArticleManage类中编写商品销售排行榜的leaderboard方法,并在startMenu方法中输入5时调用leaderboard方法

/**
  * 商品销售排行榜
 */
    public void leaderboard(){
        Article[] articles = new Article[50];
        for (int i = 0; i < articles.length; i++) {
            if (articleSet.articles[i] != null) {
                articles[i] = articleSet.articles[i];
            }
        }
        for (int i = 0; i < articles.length-1; i ++ ){
            for (int j = 0; j < articles.length-i-1; j++){
                if (articles[j+1] !=null){
                    if (articles[j].number < articles[j+1].number){
                        Article tempArticle = articles[j];
                        articles[j] = articles[j+1];
                        articles[j+1] = tempArticle;
                    }
                }
            }
        }
        System.out.print("*********************************");
        System.out.print("名次\t销售数量\t商品名称");
        for (int i = 0; i < articles.length; i++){
            if (articles[i] != null){
                System.out.print(i+1+"\t"+articles[i].number+"\t"+articles[i].name);
            }
        }
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,558评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,002评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,036评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,024评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,144评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,255评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,295评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,068评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,478评论 1 305
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,789评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,965评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,649评论 4 336
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,267评论 3 318
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,982评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,223评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,800评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,847评论 2 351

推荐阅读更多精彩内容