编写Java程序_连锁超市购物结算系统

简介: 功能需求:一、Use Case 1 显示商品信息列表:二、Use Case 2 输入购买商品编号三、Use Case 3 显示购物结算清单需求分级:实现代码:

功能需求:


Soft function 软件功能:

连锁超市购物结算系统主要功能包括:显示商品信息,购物清单,结算功能。


总体用例图:


image.png


一、Use Case 1 显示商品信息列表:

显示商品信息,供收银员参考查询。


58.png


二、Use Case 2 输入购买商品编号

顾客在购物后要求结账,收银员输入顾客购买的商品编号,准备由系统统计出顾客购物清单。


59.png


2、Preconditions 前置条件


系统提示“请输入商品编号:(输入0结束输入)”


3、End Condition 后置条件


(1)Success End Condition 成功后置条件


收银员输入商品编号后按下“Enter”键,系统显示出继续输入的提示:请输入商品编号:(输入0结束输入)。


(2)Failed End Condition 失败后置条件


a、收银员输入的商品编号非数字,提示“操作错误,系统退出!”,如图:


60.png


b、收银员输入的商品编号不存在,显示“查无此商品”,并允许继续输入商品编号,如图:


61.png


三、Use Case 3 显示购物结算清单

收银员将顾客购买的物品输入完毕之后,系统显示出顾客的购物清单,和购物总价。


62.png


需求分级:


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



相关文章
|
15天前
|
JavaScript NoSQL Java
接替此文【下篇-服务端+后台管理】优雅草蜻蜓z系统JAVA版暗影版为例-【蜻蜓z系列通用】-2025年全新项目整合搭建方式-这是独立吃透代码以后首次改变-独立PC版本vue版搭建教程-优雅草卓伊凡
接替此文【下篇-服务端+后台管理】优雅草蜻蜓z系统JAVA版暗影版为例-【蜻蜓z系列通用】-2025年全新项目整合搭建方式-这是独立吃透代码以后首次改变-独立PC版本vue版搭建教程-优雅草卓伊凡
160 96
接替此文【下篇-服务端+后台管理】优雅草蜻蜓z系统JAVA版暗影版为例-【蜻蜓z系列通用】-2025年全新项目整合搭建方式-这是独立吃透代码以后首次改变-独立PC版本vue版搭建教程-优雅草卓伊凡
|
17天前
|
前端开发 JavaScript Java
【03】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架搭建-服务端-后台管理-整体搭建-优雅草卓伊凡商业项目实战
【03】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架搭建-服务端-后台管理-整体搭建-优雅草卓伊凡商业项目实战
80 13
【03】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架搭建-服务端-后台管理-整体搭建-优雅草卓伊凡商业项目实战
|
18天前
|
人工智能 JavaScript 关系型数据库
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
77 14
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
|
17天前
|
SQL JavaScript 安全
【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架二次开发准备工作-以及建立初步后端目录菜单列-优雅草卓伊凡商业项目实战
【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架二次开发准备工作-以及建立初步后端目录菜单列-优雅草卓伊凡商业项目实战
61 11
【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架二次开发准备工作-以及建立初步后端目录菜单列-优雅草卓伊凡商业项目实战
|
21天前
|
人工智能 JavaScript 安全
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
67 13
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
|
14天前
|
缓存 Java 应用服务中间件
java语言后台管理若依框架-登录提示404-接口异常-系统接口404异常如何处理-登录验证码不显示prod-api/captchaImage 404 (Not Found) 如何处理-解决方案优雅草卓伊凡
java语言后台管理若依框架-登录提示404-接口异常-系统接口404异常如何处理-登录验证码不显示prod-api/captchaImage 404 (Not Found) 如何处理-解决方案优雅草卓伊凡
46 5
|
30天前
|
传感器 安全 算法
消防救援支队消防员单兵装备智能养护舱电机驱动java版程序(二)
本文探讨消防救援中智能养护舱电机驱动的Java程序设计,作为系列文章第二部分。通过自动化和智能化手段,智能养护舱提升了装备维护效率与准确性。文章详细介绍了电机驱动模块的设计与实现,包括硬件选型、PID控制策略、安全保护机制及Java程序架构,确保电机精确控制、稳定性和安全性。未来将优化功能并引入智能算法和物联网技术,进一步提升装备维护智能化水平。
|
30天前
|
IDE Java 开发工具
消防救援支队消防员单兵装备智能养护舱点击驱动java版程序(一)
智能消防作战服架通过电机驱动系统提升消防员作业效率和安全性。本文介绍基于Java的电机驱动程序开发,涵盖硬件准备、软件环境搭建及驱动程序实现。重点包括串口通信配置、电机控制类设计与控制逻辑实现,确保电机高效稳定运行。通过正确配置通信协议和串口参数,并添加异常处理机制,保障系统的安全性和可靠性。
|
1月前
|
JavaScript Java 测试技术
基于Java+SpringBoot+Vue实现的车辆充电桩系统设计与实现(系统源码+文档+部署讲解等)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!
63 6
java中获取当前系统日期
java中获取当前系统日期

热门文章

最新文章