编写Java程序_连锁超市购物结算系统
目录
功能需求:
Soft function 软件功能:
连锁超市购物结算系统主要功能包括:显示商品信息,购物清单,结算功能。
总体用例图:
一、Use Case 1 显示商品信息列表:
显示商品信息,供收银员参考查询。
二、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();//进行结算
}
}
本文来自博客园,作者:明金同学,转载请注明原文链接:https://www.cnblogs.com/vmuu/p/15663693.html
公众号:【明金同学】