3条回答 默认 最新
- CSDN专家-sinJack 2021-07-01 11:12关注
如有帮助,请采纳。点击我回答右上角【采纳】按钮
//shop类 public class Shop {//门店类 private String shopName; private String shopTelephone; public Shop() { } public Shop(String shopName, String shopTelephone) { this.shopName = shopName; this.shopTelephone = shopTelephone; } public String getShopName() { return shopName; } public void setShopName(String shopName) { this.shopName = shopName; } public String getShopTelephone() { return shopTelephone; } public void setShopTelephone(String shopTelephone) { this.shopTelephone = shopTelephone; } @Override public String toString() { return "门店名称:" + shopName + "\n门店电话:" + shopTelephone; } } //Commodity类 public class Commodity {//商品类 private String commodityName; private Double commodityValue; private Double commodityNumber; public Commodity() { } public Commodity(String commodityName, Double commodityValue, Double commodityNumber) { this.commodityName = commodityName; this.commodityValue = commodityValue; this.commodityNumber = commodityNumber; } public String getCommodityName() { return commodityName; } public void setCommodityName(String commodityName) { this.commodityName = commodityName; } public Double getCommodityValue() { return commodityValue; } public void setCommodityValue(Double commodityValue) { this.commodityValue = commodityValue; } public Double getCommodityNumber() { return commodityNumber; } public void setCommodityNumber(Double commodityNumber) { this.commodityNumber = commodityNumber; } @Override public String toString() { return "Commodity [commodityName=" + commodityName + ", commodityValue=" + commodityValue + ", commodityNumber=" + commodityNumber + "]"; } } //Method方法类 import java.util.Date; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class Method { private String payingMethod; private Double money = 0.00; private String cashRegisterNumber = "3671";//收款机编号 Scanner scanner = new Scanner(System.in); Shop shop = new Shop(); //Commodity commodity = new Commodity(); List<Commodity> listCommodity = new ArrayList<>(); //功能一:设置门店信息 public Shop SetUpShopMessage() { System.out.println("请输入门店名称:"); String shopName = scanner.next(); System.out.println("请输入门店联系电话:"); String shopTelephone = scanner.next(); shop.setShopName(shopName); shop.setShopTelephone(shopTelephone); return shop; } //功能二主模块: public void MainFunction() { while (true) { System.out.println("1.添加商品 2.付款方式 3.生成小票 4.收款金额 5.回主菜单"); System.out.println("请按功能菜单选择序号:"); int select = scanner.nextInt(); switch (select) { case 1: Commodity commodity = new Commodity(); commodity = addCommodity(); listCommodity.add(commodity); break; case 2: payingMethod(); break; case 3: Receipt(); break; case 4: collectMoney(); break; case 5: listCommodity.clear(); return; default: System.out.println("输入错误,请重新输入"); break; } } } //功能二模块组成1添加商品功能 private Commodity addCommodity() { System.out.println("请输入商品名称:"); String commodityName = scanner.next(); System.out.println("请输入商品单价:"); double commodityValue = scanner.nextDouble(); System.out.println("请输入购买数量:"); double commodityNumber = scanner.nextDouble(); Commodity commodity = new Commodity(); commodity.setCommodityName(commodityName); commodity.setCommodityValue(commodityValue); commodity.setCommodityNumber(commodityNumber); return commodity; } //功能二模块组成2付款方式 private void payingMethod() { System.out.println("请选择付款方式:1(支付宝) 2(微信) 3(现金)"); int choose = scanner.nextInt(); if (choose == 1) { payingMethod = "支付宝"; } else if(choose == 2) { payingMethod = "微信"; } else if(choose == 3) { payingMethod = "现金"; }else { System.out.println("输入错误,请重新输入"); } } //功能二模块组成3生成小票 private void Receipt() { double value = 0; for (Commodity commodity : listCommodity) { value += commodity.getCommodityValue() * commodity.getCommodityNumber(); } String num = String.format("%.2f", value); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); String numbering = sdf.format(new Date()); System.out.println(shop.getShopName()); System.out.println("订单编号(OUT TRADE NO):"); System.out.println(numbering + cashRegisterNumber); System.out.println("****************************"); System.out.println("欢迎光临 TEL:" + shop.getShopTelephone()); System.out.println("品名 售价 数量 金额"); System.out.println("----------------------------"); for (Commodity commodity : listCommodity) { System.out.println(commodity.getCommodityName() + "= " + commodity.getCommodityValue() + " * " +commodity.getCommodityNumber() + " " + String.format("%.2f", commodity.getCommodityValue() * commodity.getCommodityNumber())); } System.out.println("----------------------------"); System.out.println("共计" + listCommodity.size() + "项商品"); System.out.println("购物总金额:" + num); System.out.println(payingMethod + "实付:" + money); System.out.println("找零:" + String.format("%.2f", (money - value))); SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String time = sdf1.format(new Date()); System.out.println("付款时间:" + time); System.out.println("收款机:" + cashRegisterNumber); listCommodity.clear(); } //功能二模块组成4收款金额 private void collectMoney() { System.out.println("请输入客户付款金额"); money = scanner.nextDouble(); } } //Main方法 import java.util.Scanner; public class TestMain { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); Method method = new Method(); //List<Shop> listShop = new ArrayList<Shop>(); Shop shop = new Shop(); while (true) { System.out.println("----------欢迎使用蓝欧超市收银系统----------"); System.out.println("1.设置门店信息"); System.out.println("2.顾客结账"); System.out.println("3.退出系统"); System.out.println("请按序号选择要使用的功能:"); int choose = scanner.nextInt(); switch (choose) { case 1: shop = method.SetUpShopMessage(); System.out.println(shop); System.out.println("门店信息设置成功!"); break; case 2: method.MainFunction(); break; case 3: System.out.println("系统已成功退出!"); scanner.close(); return; default: System.out.println("输入错误,请重新输入"); break; } } } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报