JAVA簡單專案"購物系統"的整個開發過程詳解(內含原始碼和註釋)
阿新 • • 發佈:2019-01-31
package cn.itcast; import java.util.Scanner; /** * 選單類,用於顯示所有級選單供使用者選擇 * * @author * */ public class Menu { /** * 空構造方法 * */ public Menu() { } /** * 設定選單類中的資料資訊 * * @param as * @param ad * @param ai * @param as1 * @param ai1 */ public void setData(String as[], double ad[], int ai[], String as1[], int ai1[]) { goodsName = as; goodsPrice = ad; custNo = ai; custBirth = as1; custScore = ai1; } /** * 顯示一級選單,即登入介面 * */ public void showLoginMenu() { System.out.println("\n\n\t\t\t 歡迎使用itcast購物管理系統1.0版\n\n"); System.out.println("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n"); System.out.println("\t\t\t\t 1. 登 錄 系 統\n\n"); System.out.println("\t\t\t\t 2. 更 改 管 理 員 信 息\n\n"); System.out.println("\t\t\t\t 3. 退 出\n\n"); System.out.println("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n"); System.out.print("請選擇,輸入數字:"); } /** * 顯示二級選單,即系統的主選單,這個方法裡面包含了對這個選單處理的所有流程 * */ public void showMainMenu() { // 顯示二級選單,即系統的主選單 System.out.println("\n\n\t\t\t\t歡迎使用購物管理系統\n"); System.out.println("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n"); System.out.println("\t\t\t\t 1. 客 戶 信 息 管 理\n"); System.out.println("\t\t\t\t 2. 購 物 結 算\n"); System.out.println("\t\t\t\t 3. 真 情 回 饋\n"); System.out.println("\t\t\t\t 4. 注 銷\n"); System.out.println("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n"); // 使用者選擇服務專案 System.out.print("請選擇,輸入數字:"); Scanner scanner = new Scanner(System.in); // 設定標誌用於控制迴圈 boolean flag = false; do { String s = scanner.next(); // 使用者選擇"客戶資訊管理" if (s.equals("1")) { // 顯示客戶資訊管理選單並處理這個選單的整個流程,當這個流程處理完 showCustMMenu(); break; } // 使用者選擇"購物結算" if (s.equals("2")) { // 定義購物結算類的物件,並處理整個購物結算的流程 Pay pay = new Pay(); pay.setData(goodsName, goodsPrice, custNo, custBirth, custScore); pay.calcPrice(); break; } // 使用者選擇"真情回饋" if (s.equals("3")) { // 處理真情回饋的整個處理流程 showSendGMenu(); break; } // 使用者選擇"登出" if (s.equals("4")) { // 顯示一級選單,此時會返回至StartSMS類中的一級選單處理流程 showLoginMenu(); break; } System.out.print("輸入錯誤,請重新輸入數字:"); flag = false; } while (!flag); } /** * 顯示三級選單-客戶資訊管理,並處理所有客戶資訊管理的流程 * */ public void showCustMMenu() { System.out.println("購物管理系統 > 客戶資訊管理\n"); System.out.println("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n"); System.out.println("\t\t\t\t 1. 顯 示 所 有 客 戶 信 息\n"); System.out.println("\t\t\t\t 2. 添 加 客 戶 信 息\n"); System.out.println("\t\t\t\t 3. 修 改 客 戶 信 息\n"); System.out.println("\t\t\t\t 4. 查 詢 客 戶 信 息\n"); System.out.println("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n"); System.out.print("請選擇,輸入數字或按'n'返回上一級選單:"); Scanner scanner = new Scanner(System.in); boolean flag = true; do { // 建立客戶資訊管理物件,並設定資料,這裡的資料還是原始的那些資料 CustManagement custmanagement = new CustManagement(); custmanagement.setData(goodsName, goodsPrice, custNo, custBirth, custScore); String s = scanner.next(); // 客戶選擇"顯示所有客戶資訊" if (s.equals("1")) { custmanagement.show(); break; } // 客戶選擇"新增客戶資訊" if (s.equals("2")) { custmanagement.add(); break; } // 客戶選擇"修改客戶資訊" if (s.equals("3")) { custmanagement.modify(); break; } // 客戶選擇"查詢客戶資訊" if (s.equals("4")) { custmanagement.search(); break; } // 客戶選擇"返回上一級選單" if (s.equals("n")) { showMainMenu(); break; } System.out.println("輸入錯誤, 請重新輸入數字:"); flag = false; } while (!flag); } /** * 顯示三級選單-真情回饋,並處理所有真情回饋的流程 * */ public void showSendGMenu() { System.out.println("購物管理系統 > 真情回饋\n"); System.out.println("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n"); System.out.println("\t\t\t\t 1. 幸 運 大 放 送\n"); System.out.println("\t\t\t\t 2. 幸 運 抽 獎\n"); System.out.println("\t\t\t\t 3. 生 日 問 候\n"); System.out.println("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n"); System.out.print("請選擇,輸入數字或按'n'返回上一級選單:"); Scanner scanner = new Scanner(System.in); // 建立禮物管理物件,並設定資料,這裡的資料還是原始的那些資料 GiftManagement giftmanagement = new GiftManagement(); giftmanagement.setData(goodsName, goodsPrice, custNo, custBirth, custScore); boolean flag = true; do { String s = scanner.next(); // 客戶選擇"幸運大放送" if (s.equals("1")) { giftmanagement.sendGoldenCust(); break; } // 客戶選擇"幸運抽獎" if (s.equals("2")) { giftmanagement.sendLuckyCust(); break; } // 客戶選擇"生日問候" if (s.equals("3")) { giftmanagement.sendBirthCust(); break; } // 客戶選擇"返回上一級選單" if (s.equals("n")) { showMainMenu(); break; } System.out.println("輸入錯誤, 請重新輸入數字:"); flag = false; } while (!flag); } /*====================定義該類所擁有的變數====================*/ public String goodsName []; // 商品的名稱 public double goodsPrice[]; // 商品的價格 public int custNo []; // 顧客的會員號 public String custBirth []; // 顧客的生日 public int custScore []; // 顧客的積分 }