第八章零钱通练习

零钱通

方法类

package com.SmallChangeSys;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

public class SmallChangeSysOOp {
    Scanner sc = new Scanner(System.in);
    double rest = 0;
    String[] detail = new String[100];
    int num = 0;
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
    Date date = new Date();
    boolean loop = true;

    public void mainMenu() {

        do {
            System.out.println("-------------零钱通菜单-------------\n" +
                    "\t\t1 零钱通明细\n\t\t2 收益入账\n\t\t3 消费\n\t\t4 退\t出" +
                    "\n请选择(1-4)");
            int choice = sc.nextInt();
            switch (choice) {
                case 1:
                    this.detail();
                    break;

                case 2:
                    this.income();
                    break;
                case 3:
                    this.outcome();
                case 4:
                    this.exit();

            }

        } while (loop) ;
    }

    public void detail() {
        System.out.println("-------------零钱通明细-------------");
        for (int i = detail.length - 1; i > 0; i--) {
            if (detail[i] != null) {
                System.out.println(detail[i]);

            }

        }
        return;
    }

    public void income() {
        System.out.println("收益入账:");
        double a = sc.nextInt();
        num++;
        if (a >= 100000) {
            System.out.println("金额是否合理,请检查(1 重新输入,2 已检查无误)");
            int check = sc.nextInt();
            if (check == 2) {
                rest = rest + a;
                detail[num] = "收益入账\t" + "+" +
                        a + "\t" + sdf.format(date) + "\t余额:" + rest;
            }

        } else {
            rest = rest + a;
            detail[num] = "收益入账\t" + "+" +
                    a + "\t" + sdf.format(date) + "\t余额:" + rest;
        }

    }

    public void outcome() {
        System.out.println("消费内容");
        String d = sc.next();
        System.out.println("消费金额");
        double b = sc.nextInt();
        num++;
        if (b >= 100000) {
            System.out.println("金额是否合理,请检查(1 重新输入,2 已检查无误)");
            int check = sc.nextInt();
            if (check == 2) {
                rest = rest - b;
                detail[num] = d + "\t" + "-" +
                        b + "\t" + sdf.format(date) + "\t余额:" + rest;
            }

        } else {
            rest = rest - b;
            detail[num] = d + "\t" + "-" +
                    b + "\t" + sdf.format(date) + "\t余额:" + rest;
        }
        return;
    }

    public void exit() {
        char ch;
        for (; ; ) {
            System.out.println("你确定要退出吗?y/n");
            ch = sc.next().charAt(0);
            if (ch == 'y') {
                break;

            } else if (ch == 'n') {
                break;
            } else {
                System.out.println("请输入y/n!");
            }
        }
        if (ch == 'y') loop = false;
        return;

    }
}

测试类

package com.SmallChangeSys;

public class SmallChangeSysApp {
    public static void main(String[] args) {
        SmallChangeSysOOp smallChangeSysOOp = new SmallChangeSysOOp();
        smallChangeSysOOp.mainMenu();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值