編寫Java程序_連鎖超市購物結算系統

目錄

功能需求:

一、Use Case1 顯示商品信息列表:

二、Use Case 2 輸入購買商品編號

三、Use Case 3顯示購物結算清單

需求分級:

實現代碼:


功能需求:

 

Soft function 軟件功能:

連鎖超市購物結算系統主要功能包括:顯示商品信息,購物清單,結算功能。

總體用例圖:

 

一、Use Case1 顯示商品信息列表:

顯示商品信息,供收銀員參考查詢。

二、Use Case 2 輸入購買商品編號

顧客在購物後要求結賬,收銀員輸入顧客購買的商品編號,準備由系統統計出顧客購物清單。

2、Preconditions 前置條件

 系統提示“請輸入商品編號:(輸入0結束輸入)”

3、End Condition 後置條件

(1)Success End Condition 成功後置條件

收銀員輸入商品編號後按下“Enter”鍵,系統顯示出繼續輸入的提示:請輸入商品編號:(輸入0結束輸入)。

(2)Failed End Condition 失敗後置條件

a、收銀員輸入的商品編號非數字,提示“操作錯誤,系統退出!”,如圖:

b、收銀員輸入的商品編號不存在,顯示“查無此商品”,並允許繼續輸入商品編號,如圖:

三、Use Case 3顯示購物結算清單

 收銀員將顧客購買的物品輸入完畢之後,系統顯示出顧客的購物清單,和購物總價。

需求分級:

Requirement ID 需求ID

Requirement Name 需求名稱

Classification 需求分級

SC.01

顯示商品信息列表

A

SC.02

輸入購買商品編號

A

SC.03

顯示購物結算清單

A

實現代碼:

1、Admin類

public class Admin {
		public String userName;//用戶名
		public String userPwd;//密碼
	public boolean login() {
		if ((userName.equals("admin"))&&(userPwd.equals("123"))) {
			return true;
		}else {
			return false;
		}
	}
}

2、AdminServices類

import java.util.Scanner;

public class AdminServices {
	Scanner sc = new Scanner(System.in);
	Admin admin = new Admin();
	public void adminServices() {
		System.out.println("請輸入用戶名:");
		admin.userName = sc.next();
		System.out.println("請輸入密碼:");
		admin.userPwd = sc.next();
		boolean b = admin.login();
		if (b) {
			System.out.println("登錄成功!歡迎使用!");
		}else {
			System.out.println("登錄失敗,賬戶名或密碼錯誤,請重新輸入!");
			adminServices();
		}
	}
}

3、Goods類

public class Goods {
		public int id;//編號
		public String name;//名稱
		public double money;//價格
		public String brand;//品牌
		public String origin;//產地
		public String taste;//口味
		public String species;//種類
}

4、GoodsServices 類

import java.util.Scanner;

public class GoodsServices {
	Scanner sc = new Scanner(System.in);
	Goods goods[] = new Goods[3];//創建數組儲存商品信息
	Goods userno[] = new Goods[10];//創建數組儲存用戶購買的商品編號
	public void wareHouse() {//商品庫存信息
		Goods a = new Goods();//商品A
		a.id = 1;
		a.name = "蘋果";
		a.money = 5.00;
		a.brand = "紅富士";
		a.origin = "雲南昭通";
		Goods b = new Goods();//商品B
		b.id = 2;
		b.name = "泡麪";
		b.money = 3.00;
		b.brand = "康師傅";
		b.origin = "湖北武漢";
		Goods c = new Goods();//商品C
		c.id = 3;
		c.name = "香蕉";
		c.money = 4.00;
		c.brand = "霸王椒";
		c.origin = "香港地區";
		goods[0] = a;//數組1
		goods[1] = b;//數組2
		goods[2] = c;//數組3
	}
	public void goodsShow() {//展示庫存信息
		wareHouse();//調用庫存信息,這一步一定要有
		for (int i = 0; i < goods.length; i++) {
			System.out.print("編號:"+goods[i].id);
			System.out.print("\t名稱:"+goods[i].name);
			System.out.print("\t價格:¥"+goods[i].money);
			System.out.print("\t品牌:"+goods[i].brand);
			System.out.print("\t產地:"+goods[i].origin);
			System.out.println();//輸出一次換行一次
		}
	}
	public void userbuy(){//收銀員輸入顧客購買的商品編號
		int i = 0;//循環數組的下標
		int goodsNo;//聲明用於,接收用戶購買的商品編號
		do {
			System.out.println("請輸入商品編號:(輸入0結束輸入)");
			goodsNo = sc.nextInt();//商品編號
			if (1<=goodsNo&&goodsNo<=3) {
				userno[i] = goods[goodsNo-1];
				i++;
			}else {
				if(goodsNo!=0) {
     			   System.out.println("查無次商品!");
     			  }
			}
		} while (goodsNo!=0);
	}
	public void listing() {//系統統計出顧客購物清單
		System.out.println("“服務一百,滿意一百”,歡迎光臨中百超市!您的購物清單如下:");
		int j = 0;
		double sum = 0;
		for (int i = 0; i < userno.length; i++) {
			if (userno[i]!=null) {
				System.out.print("編號:"+userno[i].id);
				System.out.print("\t名稱:"+userno[i].name);
				System.out.print("\t價格:¥"+userno[i].money);
				System.out.print("\t品牌:"+userno[i].brand);
				System.out.print("\t產地:"+userno[i].origin);
				System.out.println();//輸出一次換行一次
				sum += userno[i].money;
			} 
		}
		System.out.println("***********************************************************************");
		System.out.println("總價: ¥"+sum);
	}
}

5、userUI 類

public class userUI {
	public static void main(String[] args) {
		AdminServices adminServices = new AdminServices();
		GoodsServices goodsServices = new GoodsServices();
		adminServices.adminServices();//管理員登錄界面
		System.out.println("**********************中百集團聯合超市購物系統**************************");
		goodsServices.goodsShow();//商品信息
		System.out.println("***********************************************************************");
		goodsServices.userbuy();//收銀員輸入顧客購買的商品編號
		System.out.println("***********************************************************************");
		goodsServices.listing();//進行結算	
	}
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章