Java基础-day05-超市收银系统案例题

时间:2022-05-04
本文章向大家介绍Java基础-day05-超市收银系统案例题,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

Java基础-day05-超市收银系统案例题

案例描述

将超市购物小票案例中,键盘录入部分封装为方法。

将switch语句完成的三个分支代码逻辑封装为3个方法

当用户输入1时,让用户输入所要购买的商品数量

当用户输入2时,给用户打印出对应的购物小票

当用户输入3时,退出系统

eclipse展示

具体实现代码

package StudentJavaSEday05;
import java.util.Date;
import java.util.Scanner;
/**
 * 将超市购物小票案例中,键盘录入部分封装为方法。 将switch语句完成的三个分支代码逻辑封装为3个方法 当用户输入1时,让用户输入所要购买的商品数量
 * 当用户输入2时,给用户打印出对应的购物小票 当用户输入3时,退出系统
 * @author 奋斗蒙
 */
public class FangFashopping {
 // 1.初始化系统
 // 定义商品
 static String nmName = "内蒙古牛肉干";// 商品名称
 static String nmID = "(088881)"; // 商品id
 static double nmPrice = 25.50; // 商品单价
 static int nmNumber = 0; // 商品数量
 static double nmMoney = 0; // 商品金额
 static String xjName = "新疆羊肉串";
 static String xjID = "(088882)";
 static double xjPrice = 16.00;
 static int xjNumber = 0;
 static double xjMoney = 0;
 static String hnName = "海南椰果";
 static String hnID = "(088883)";
 static double hnPrice = 14.50;
 static int hnNumber = 0;
 static double hnMoney = 0;
 public static void main(String[] args) {
 // while循环,系统不退出一直运行
 while (true) {
 // 2.展示系统功能
 System.out.println("-------------欢迎访问Java帮帮-超市购物收银系统---------------");
 System.out.println("选择系统功能:1.输入购买商品数量。         2.打印购物小票             3.退出系统");
 System.out.println("请输入功能编号进入功能:");
 // 3.获取用户键盘输入数据
 int gn = getScanner();
 // 4.根据用户输入选择具体操作的功能
 switch (gn) {
 case 1:
 buy();
 break;
 case 2:
 print();
 break;
 case 3:
 exit();
 break;
 default:
 break;
 }
 }
 }
 /**
  * 获取键盘输入数字方法(选择功能) 返回值类型:int 方法名:getScanner 参数列表:空
  * 
  * @return
  */
 private static int getScanner() {
 Scanner sc = new Scanner(System.in);
 int scanner = sc.nextInt();
 return scanner;
 }
 /**
  * 获取购买商品数量与计算价格 返回值类型:void 方法名:buy 参数列表:空
  * 
  */
 private static void buy() {
 System.out.println("请输入您购买" + nmName + "的数量");
 nmNumber = getScanner();
 System.out.println("请输入您购买" + xjName + "的数量");
 xjNumber = getScanner();
 System.out.println("请输入您购买" + hnName + "的数量");
 hnNumber = getScanner();
 // 计算每种商品的购买金额
 nmMoney = nmPrice * nmNumber;
 xjMoney = xjPrice * xjNumber;
 hnMoney = hnPrice * hnNumber;
 }
 /**
  * 打印小票方法 返回值类型:void 方法名:print 参数列表:空
  */
 private static void print() {
 // 商品种类
 int goodsItem = 3;
 // 商品数量
 int goodsNumber = nmNumber + xjNumber + hnNumber;
 // 商品金额
 double goodsMoney = nmMoney + xjMoney + hnMoney;
 // 打印小票
 // 票头
 System.out.println("----------------欢迎光临--------------");
 System.out.println("商品名称 商品ID 单价 数量 金额");
 System.out.println("--------------------------------------");
 // 票体
 System.out.println(
 nmName + " " + nmID + " " + nmPrice + " " + nmNumber + " " + nmMoney);
 System.out.println(
 xjName + " " + xjID + " " + xjPrice + " " + xjNumber + " " + xjMoney);
 System.out.println(
 hnName + " " + hnID + " " + hnPrice + " " + hnNumber + " " + hnMoney);
 System.out.println("---------------------------------------");
 // 票脚
 System.out.println("共消费了  " + goodsItem + "种商品   共计" + goodsNumber + "件");
 System.out.println("总共消费金额: " + goodsMoney);
 System.out.println("--------请凭小票到服务台换取发票----------");
 System.out.println("-----------------------------------------");
 System.out.println(new Date());//当前时间
 }
 /**
  * 退出系统方法 返回值类型:void 方法名:exit 参数列表:空
  */
 private static void exit() {
 System.out.println("程序结束,期待下次为您服务!");
 // 退出方法,结束正在运行的虚拟机,0表示正常退出
 System.exit(0);
 }
}

运行结果