商城后臺管理系統(tǒng)

實(shí)現(xiàn)步驟
步驟1:數(shù)據(jù)初始化
(1)創(chuàng)建項目ArticleManage栋荸,創(chuàng)建類Article,添加4個屬性,一個方法展示商品信息

public class Article {
    public String name; // 商品名稱
    public int amount; // 商品庫存數(shù)量
    public double price; // 商品價格
    public int number; // 商品售出數(shù)量

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

(2)創(chuàng)建ArticleSet類煤墙,并在類中定義1個長度為50的數(shù)組保存商品

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

(3)創(chuàng)建ArticleManage,創(chuàng)建ArticleSet對象articleSet宪拥,實(shí)現(xiàn)初始化數(shù)據(jù)的方法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:實(shí)現(xiàn)菜單切換
在ArticleManage類中編寫菜單顯示和菜單切換的startMenu方法仿野,代碼如下:

/**
   *菜單切換
 */
    public void startMenu() {
        boolean flag = true ; // 是否操作
        do {
            System.out.print("歡迎使用前程商城后臺管理系統(tǒng)");
            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("請選擇要執(zhí)行的操作: ");
            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);
    }

在測試類中編寫程序入口,實(shí)例化ArticleManage并實(shí)現(xiàn)initial方法和startMenu方法
測試類代碼

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

步驟3:實(shí)現(xiàn)查看商品信息
在ArticleManage類中編寫查看商品信息的search方法她君,并在startMenu方法中輸入1時調(diào)用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:實(shí)現(xiàn)新增商品信息
在ArticleManage類中編寫添加商品信息的add方法脚作,并在startMenu方法中輸入2時調(diào)用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:實(shí)現(xiàn)刪除商品信息
在ArticleManage類中編寫刪除商品信息的delete方法,并在startMenu方法中輸入3時調(diào)用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:實(shí)現(xiàn)商品銷售的業(yè)務(wù)處理
在ArticleManage類中編寫賣出商品的sell方法,并在startMenu方法中輸入4時調(diào)用sell方法

/**
      *銷售業(yè)務(wù)
     */
    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("請輸入您要賣出的數(shù)量");
                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("商品數(shù)量不夠亿扁,請抓緊進(jìn)貨捺典! ");
                    flag = false;
                }
                break;
            }else {
                flag = false;
            }
        }
        if (flag){
            System.out.print("賣出商品成功!");
        }else {
            System.out.print("賣出商品失敗从祝!");
        }
    }

步驟7:實(shí)現(xiàn)商品銷售排行榜
在ArticleManage類中編寫商品銷售排行榜的leaderboard方法襟己,并在startMenu方法中輸入5時調(diào)用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銷售數(shù)量\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);
            }
        }
    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市牍陌,隨后出現(xiàn)的幾起案子擎浴,更是在濱河造成了極大的恐慌,老刑警劉巖呐赡,帶你破解...
    沈念sama閱讀 212,816評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件退客,死亡現(xiàn)場離奇詭異,居然都是意外死亡链嘀,警方通過查閱死者的電腦和手機(jī)萌狂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來怀泊,“玉大人茫藏,你說我怎么就攤上這事∨恚” “怎么了务傲?”我有些...
    開封第一講書人閱讀 158,300評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長枣申。 經(jīng)常有香客問我售葡,道長,這世上最難降的妖魔是什么忠藤? 我笑而不...
    開封第一講書人閱讀 56,780評論 1 285
  • 正文 為了忘掉前任挟伙,我火速辦了婚禮,結(jié)果婚禮上模孩,老公的妹妹穿的比我還像新娘尖阔。我一直安慰自己,他們只是感情好榨咐,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,890評論 6 385
  • 文/花漫 我一把揭開白布介却。 她就那樣靜靜地躺著,像睡著了一般块茁。 火紅的嫁衣襯著肌膚如雪齿坷。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,084評論 1 291
  • 那天,我揣著相機(jī)與錄音胃夏,去河邊找鬼轴或。 笑死,一個胖子當(dāng)著我的面吹牛仰禀,可吹牛的內(nèi)容都是我干的照雁。 我是一名探鬼主播,決...
    沈念sama閱讀 39,151評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼答恶,長吁一口氣:“原來是場噩夢啊……” “哼饺蚊!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起悬嗓,我...
    開封第一講書人閱讀 37,912評論 0 268
  • 序言:老撾萬榮一對情侶失蹤污呼,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后包竹,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體燕酷,經(jīng)...
    沈念sama閱讀 44,355評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,666評論 2 327
  • 正文 我和宋清朗相戀三年周瞎,在試婚紗的時候發(fā)現(xiàn)自己被綠了苗缩。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,809評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡声诸,死狀恐怖酱讶,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情彼乌,我是刑警寧澤泻肯,帶...
    沈念sama閱讀 34,504評論 4 334
  • 正文 年R本政府宣布,位于F島的核電站慰照,受9級特大地震影響灶挟,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜毒租,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,150評論 3 317
  • 文/蒙蒙 一膏萧、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蝌衔,春花似錦、人聲如沸蝌蹂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽孤个。三九已至剃允,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背斥废。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評論 1 267
  • 我被黑心中介騙來泰國打工椒楣, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人牡肉。 一個月前我還...
    沈念sama閱讀 46,628評論 2 362
  • 正文 我出身青樓捧灰,卻偏偏與公主長得像,于是被迫代替她去往敵國和親统锤。 傳聞我的和親對象是個殘疾皇子毛俏,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,724評論 2 351

推薦閱讀更多精彩內(nèi)容