如有帮助,请采纳。点击我回答右上角【采纳】按钮
//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;
}
}
}
}
public class Market {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
List<MarketPojo> list = new ArrayList<>();
double totalPrice = 0.0;
while (true) {
System.out.println("输入商品单价:");
double up = s.nextDouble();
if (up < 0.0) {
System.out.println("商品录入结束:");
for (MarketPojo mp0 : list) {
totalPrice += mp0.getUnitPrice() * mp0.getCount();
}
System.out.println("这些商品总价是:" + totalPrice + "打5折后价格是:" + (totalPrice * 0.5));
System.out.println("您本次应支付:" + (totalPrice * 0.5) + "元");
double shouldPay = s.nextDouble();
if (shouldPay == (totalPrice * 0.5)) {
System.out.println("钱数正好,欢迎下次光临");
break;
} else if (shouldPay > (totalPrice * 0.5)) {
System.out.println("钱给多了,找你" + (shouldPay - (totalPrice * 0.5)) + "元,欢迎下次光临");
break;
} else if (shouldPay < (totalPrice * 0.5)) {
System.out.println("钱给少了,合计啥呢,再交" + ((totalPrice * 0.5) - shouldPay) + "元,不然报警");
break;
}
}
System.out.println("输入商品数量:");
int co = s.nextInt();
MarketPojo mp = new MarketPojo(up, co);
list.add(mp);
System.out.println("刚输入的商品单价:" + up + "数量:" + co + "该商品总价:" + (up * co));
}
}
}
public class MarketPojo {
private Double unitPrice;
private Integer count;
public Double getUnitPrice() {
return unitPrice;
}
public void setUnitPrice(Double unitPrice) {
this.unitPrice = unitPrice;
}
public Integer getCount() {
return count;
}
public void setCount(Integer count) {
this.count = count;
}
public MarketPojo(Double unitPrice, Integer count) {
this.unitPrice = unitPrice;
this.count = count;
}
}