编写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();//进行结算	
	}
}

 

发布了63 篇原创文章 · 获赞 73 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_44893902/article/details/104932642
今日推荐