0
点赞
收藏
分享

微信扫一扫

零钱通

1. 零钱通

1.1 项目开发流程说明

1.1.1 项目需求说明

使用 Java 开发 零钱通项目 , 可以完成收益入账,消费,查看明细,退出系统等功能

1.2 项目界面

零钱通_java

2. 项目代码 335

化繁为简.

1) 先完成显示菜单,并可以选择

2) 完成零钱通明细.

3) 完成收益入账

4) 消费

5) 退出

先使用过程编程(传统方法),后面改成 OOP (面向对象)版本,请小伙伴体会 OOP 编程带来的好处

2.1 过程编程(传统方法) 335

代码在com.stulzl.smallchangesys包中

smallchangesys

package com.stulzl.smallchangesys;


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

public class SmallChangeSys {
    //化繁为简
    //1. 完成菜单,并可以选择菜单,给出对应的提示
    //2. 完成零钱通明细.
    //3. 完成收益入账
    //4. 消费
    //5. 退出

    public static void main(String[] args) {

        boolean loop = true;//循环的变量
        Scanner scanner = new Scanner(System.in);
        int key = 0;//switch case语句的变量

        // 2. 完成零钱通明细.336
        //思路,三种方法1.可以把收益入账和消费,保存到数组中 2.也可以使用对象 3.简单的话也可以使用String拼接
        //我们选择String拼接
        String details = "";

        //3. 完成收益入账337
        double money = 0;//收益
        double balance = 0;//余额
        Date date = null;//Date是java.util.Date类,表示日期
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");//可以用于日期格式化

        //4. 消费 338
        //定义新的变量记录保存消费原因
        String note = "";

        do{
            //菜单
            System.out.println("==========零钱通菜单==========");
            System.out.println("\t\t1 零钱通明细");
            System.out.println("\t\t2 收     益");
            System.out.println("\t\t3 消     费");
            System.out.println("\t\t4 退     出");
            System.out.println("==========零钱通菜单==========");
            System.out.println("请选择(1-4):");
            key = scanner.nextInt();
            switch(key){
                case 1:
                System.out.println("--------零钱通明细--------");
                System.out.println(details);
                break;

                case 2:
                System.out.print("收益入账金额:");
                money = scanner.nextDouble();//收入
                //零钱校验
                balance+=money;
                //拼接接收收益信息details
                date =new Date();//获取当前日期
                //这句details拼接重点是 \n 拼接是将所有的收入信息拼成一长条的一句话(因为是+=),
                // 但是利用\n则可以分开
                details += "\n收益入账\t"+money+"\t"+sdf.format(date)+"\t余额:"+balance;
                break;

                case 3:
                System.out.print("消费金额:");
                money = scanner.nextDouble();//消费
                //消费校验
                System.out.println("请输入消费原因:");
                note = scanner.next();
                balance-=money;
                //拼接接收消费信息details
                date =new Date();//获取当前日期
                //这句details拼接重点是 \n 拼接是将所有的收入信息拼成一长条的一句话(因为是+=),
                // 但是利用\n则可以分开
                details += "\n"+note+"\t-"+money+"\t"+sdf.format(date)+"\t余额:"+balance;
                break;

                case 4:
                System.out.println("4 退     出");
                loop = false;
                break;
                default:
                System.out.println("您的输入有误,请重新输入");
            }
        }while(loop);
        System.out.println("--------退出零钱通系统--------");
    }
}


举报

相关推荐

0 条评论