本篇分享一个Java期末大作业系统,Java期末大作业设计 收银系统
主页还有,多瞅瞅,别直接就抄了,你同学也在抄,要是答案都给你了还不会用,我建议你还是学一下qwq
package demo4;
import java.util.ArrayList;
import java.util.Scanner;
public class CashierSystem {
//问题分析:
//收银系统都需要有什么功能
//1.登录
// 1.收银员登录,添加收银员账号
//2.添加一个新的收银记录
// 1.输入商品名称
// 2.商品价格
// 3.打印总价格
// 4.收款方式 微信/支付宝/现金
// 5.打印应该找零多少
//3.查看收银记录
//4.删除收银记录
//5.统计总数
//6.退出系统
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
ArrayList<Record> records = new ArrayList<>();//用来存放所有的收银记录
boolean isLog = true;//用来标记是否登陆成功,如果未成功就一直让输入账号密码
//登录的账号密码
String username = "admin";
String password = "123456";
//用来判断是否有该类支付方式
boolean isPay = true;
//用来判断是否结束dowhile循环
boolean isOver = true;
//登录功能
while(isLog){
System.out.println("请输入账号:");//输入账号
String user = scanner.next();
System.out.println("请输入密码");//输入密码
String passwd = scanner.next();
if (user.equals(username) && passwd.equals(password)){
System.out.println("欢迎使用收银系统");//登录成功
break;
}else {
System.out.println("登录失败请重新输入");//登录失败
}
}
do {
new Menu().menu();//菜单
String key = scanner.next();
switch (key){
case "1":
System.out.println("添加收银记录");//添加收银记录
Record record = new Record();
record.goods = new Goods();
record.payWay = new PayWay();
System.out.println("请输入商品名称");//输入商品名称
record.goods.name = scanner.next();
System.out.println("请输入商品价格");//输入商品价格
record.goods.price = scanner.nextDouble();
System.out.println("请输入商品数量");//输入商品数量
record.goods.num = scanner.nextInt();
System.out.println("请输入支付方式(微信/支付宝/现金)");//输入支付方式
while (isPay) {
String pay = scanner.next();
if (record.payWay.WECHAT_PAY.equals(pay) || record.payWay.ZFB_PAY.equals(pay) || record.payWay.MONEY_PAY.equals(pay)){
record.payWay.payways = pay;
isPay = false;
break;
}else {
System.out.println("暂无该项支付方式,请重新选择支付方式");//支付方式不存在
}
}
record.total = record.goods.price * record.goods.num;//计算总金额
records.add(record);//添加记录
System.out.println("添加成功!");//添加成功
break;
case "2":
System.out.println("查看所有收银记录");//查看所有收银记录
for (Record r1 : records) {
System.out.println("商品名称:" + r1.goods.name);//商品名称
System.out.println("商品单价:" + r1.goods.price);//商品单价
System.out.println("商品数量:" + r1.goods.num);//商品数量
System.out.println("总金额:" + r1.total);//总金额
System.out.println("支付方式:" + r1.payWay.payways);//支付方式
}
break;
case "3":
System.out.println("请输入要删除的商品名称");//输入要删除的商品名称
String delGood = scanner.next();
for (Record r2 : records) {
if (delGood.equals(r2.goods.name)){
records.remove(r2);//删除记录
System.out.println("删除成功");//删除成功
break;
}
}
break;
case "4":
double sum = 0;
for (Record r3 : records) {
sum += r3.total;//计算总营业额
}
System.out.println("总营业额为:" + sum);//输出总营业额
break;
case "5":
isOver = false;//退出系统
break;
default:
System.out.println("输入有误,请重新输入");//输入有误
break;
}
} while (isOver);
}
}
class Menu {
//2.查看收银记录
//3.删除收银记录
//4.统计总数
//5.退出系统
public void menu() {
System.out.println("\n=============收银系统菜单============");//收银系统菜单
System.out.println("\t\t\t1 添加记录");//添加记录
System.out.println("\t\t\t2 查看收银记录");//查看收银记录
System.out.println("\t\t\t3 删除收银记录");//删除收银记录
System.out.println("\t\t\t4 统计营业额");//统计营业额
System.out.println("\t\t\t5 退 出");//退出系统
System.out.print("请输入你的选择(1-5): ");//输入选择
}
}
class Record{
//1.输入商品名称
//2.商品价格
//3.输入q退出
//4.打印总价格
//5.收款方式 微信/支付宝/现金
//6.打印应该找零多少
//商品类型
Goods goods;
double total;//总金额
PayWay payWay;//支付方式
}
//商品类
class Goods{
String name;//商品名称
double price;//商品价格
int num;//商品数量
}
class PayWay{
String WECHAT_PAY = "微信";
String ZFB_PAY = "支付宝";
String MONEY_PAY = "现金";
String payways;
}