javase(2023/11/14)

1、零钱通

date使用

实现

package zhh.chapter08.smallchange01.oop;

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

public class Smallchangesysoop {
    //选项
    int choice=0;
    //输入类
    Scanner scanner = new Scanner(System.in);
    //确定是否退出
    char yN='a';
    //是否退出标志
    boolean flag=true;
    //零钱通明细(一直在变),开始为
    String details="---------------零钱通明细---------------";
    //收益入账金额
    double incomeMoney=0.0;
    //余额
    double balance=0.0;
    //时间
    Date date = new Date();
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
    //消费项目
    String consumption=null;
    //消费金额
    double cost=0.0;

    /**
     * 显示零钱通菜单
     */
    public void mainList(){
        do{
            //(1) 先完成显示菜单,并可以选择
            System.out.println("===================零钱通菜单===================");
            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.print("请输入(1-4): ");

            switch (scanner.nextInt()){
                case 1:
                    this.detail();
                    break;
                case 2:
                    this.income();
                    break;
                case 3:
                    this.pay();
                    break;
                case 4:
                    this.exit();
                    break;
                default:
                    System.out.println("选择有误请重新选择(1-4):");

            }
        }while(flag);
    }

    /**
     * 零钱通明细
     */
    public void detail(){
        System.out.println(details);
    }
    /**
     * 收益入账
     */
    public void income(){
        System.out.print("收益入账金额: ");
        incomeMoney=scanner.nextDouble();
        //判断金额是否合理
        while(incomeMoney<=0){
            System.out.println("金额应该大于0,请重新输入: ");
            incomeMoney=scanner.nextDouble();
        }
        balance+=incomeMoney;
        details+="\n收益入账\t"+"+"+incomeMoney+"\t"+sdf.format(date)+"\t"+balance;
    }

    /**
     * 消费
     */
    public void pay(){
        System.out.print("消费项目: ");
        consumption=scanner.next();
        System.out.print("消费金额: ");
        cost=scanner.nextDouble();
        //判断金额是否合理
        while(cost<=0||cost>balance){
            System.out.print("消费金额应该大于0且不超过"+balance+",请重新输入: ");
            cost=scanner.nextDouble();
        }
        balance-=cost;
        details+="\n"+consumption+"\t-"+cost+"\t"+sdf.format(date)+"\t"+balance;
    }

    /**
     * 退出
     */
    public void exit(){
        //确定输入和判断输入在一起,不方便
//                    System.out.print("您确定退出吗?请输入(y/n): ");
//                    yN=scanner.next().charAt(0);
//                    while(yN!='y'||yN!='n'){
//                        System.out.print("您确定退出吗?请输入(y/n): ");
//                        if(yN!='y'){
//                            flag = false;
//                            break;
//                        }else{
//                            break;
//                        }
//                    }
        while(true){
            System.out.print("您确定退出吗?请输入(y/n): ");
            yN=scanner.next().charAt(0);
            if(yN=='y'||yN=='n'){
                break;
            }
        }
        if(yN=='y'){
            flag=false;
        }
    }


}

package zhh.chapter08.smallchange01.oop;

public class SamllChangeSysAPP {
    public static void main(String[] args) {
        System.out.println("===============hello公司===============");
        new Smallchangesysoop().mainList();
    }
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值