栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java实现零钱通

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java实现零钱通

零钱通介绍 :

零钱通是日常常见的项目,它可以对用户的账户金额进行管理,记录金额流动明细,支付宝、微信等各大APP几乎都有此功能。

题目要求 :

编写一个程序,实现零钱通的收益入账、消费、查看明细功能。要求对入账、消费的金额进行判断是否合法,并进行相应提示;对用户退出进行判断,用户输入是否退出,否则重新输入。

本例通过面向过程实现 

代码如下 :
package ChangeMoney;

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

public class Menu {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        boolean serv = true;//服务
        int operate;//将要进行的操作
        double money = 0.0;//入账金额
        double balance = 2000;//总金额,初值2000
        String reason = null;//金额变动原因
        String diagnose = null;//判断是否退出
        Date date = null;//date 是 java.util.Date 类型,表示日期
        String details = "-------------------零钱通明细-------------------";

        //格式化日期
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH : mm");

        do {
            System.out.println("===================零钱通菜单===================");
            System.out.println("tttt  1 零钱通明细ntttt  2 收益  入账ntttt  3 消     费ntttt  4 退     出");
            System.out.print("请选择你要进行的操作:");
            operate = scanner.nextInt();

            switch (operate) {
                case 1:
                    System.out.println(details);
                    break;
                case 2:
                    System.out.println("入账金额 : ");
                    money = scanner.nextDouble();
                    if (money > 0.0) {
                        balance += money;
                        date = new Date();//获取当前日期
                        details += "n收益入账" + "t +" + money + "t" + simpleDateFormat.format(date) + "t" + balance;
                    }
                    else{
                        System.out.println("您的金额有误!!!");
                    }
                    break;
                case 3:
                    System.out.println("消费金额 : ");
                    money = scanner.nextDouble();
                    if (money > 0.0){
                        balance -= money;
                        System.out.println("消费原因 : ");
                        reason = scanner.next();//输入消费原因
                        date = new Date();//获取当前日期
                        details += "n" + reason + "t -" + money + "tt" + simpleDateFormat.format(date) + "tt" + balance;
                    }
                    else {
                        System.out.println("您的金额有误!!!");
                    }
                    break;
                case 4:
                    System.out.println("您确定要退出吗?(退出/继续)");
                    while(true) {
                                    diagnose = scanner.next();
                                    if (diagnose.equals("退出")) {
                                        System.out.println("用户退出");
                                        serv = false;
                                        break;
                                    } else if (diagnose.equals("继续")) {
                                        System.out.println("请用户继续操作");
                                        break;
                                    }
                                    if((!(diagnose.equals("退出"))) && (!(diagnose.equals("继续")))) {
                                        System.out.println("请重新输入");
                                    }
                                }
                    break;
                default:
                    System.out.println("退出零钱通");
            }
        }while(serv);
    }
}

 题目及灵感来源于B站韩顺平java0基础教学。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/862110.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号