java大作业(控制台程序,没有任何框架,大学生必备)--收银系统

本篇分享一个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;

}


  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值