Java如何实现零钱通

发布时间:2022-03-05 08:38:23 作者:iii
来源:亿速云 阅读:151

这篇文章主要讲解了“Java如何实现零钱通”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java如何实现零钱通”吧!

如图:

Java如何实现零钱通

思路:

(1)可以把收益入账和消费,保存到数组中(但目前学到的数组是定长的)

(2)可以使用对象

(3)可以使用String拼接

完成收益入账,完成功能驱动程序员增加新的变化的代码

(1)要接收收益入账的金额,并更新余额

(2)拼接好字符串

(3)找到时间如何输出,并且修改其输出格式

我用的字符串拼接

Java如何实现零钱通

一些说明

创建一个包 com.project.money.oop

然后创建两个类 SmallChangeSys和SmallChangeSysOOP

SmallChangeSys 用来写main方法代码如下

package com.project.money.oop;

public class SmallChangeSys {
    public static void main(String[] args) {
        SmallChangeSysOOP p=new SmallChangeSysOOP();
        p.menu();
    }
}

SmallChangeSysOOP用来实现具体功能

代码如下:

package com.project.money.oop;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class SmallChangeSysOOP {
    private  double in_money=0;//当前流动的钱
    private double balance=0;//余额
    private String detailed="------------零钱通明细--------------";
    private Date date = null;
    //可以用于日期格式化的
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
public void menu(){};
//1 零钱通明细
 public void detailed_(){};
 //2 收益入账"
 public void input(){};
 //3消费
    public void output(){};

}

具体说明各个方法的作用:

public void menu()方法

public void menu(){//菜单
        boolean loop=true;
        Scanner scanner = new Scanner(System.in);
        while(loop){//循环展示菜单
            System.out.println("\n============oop零钱通菜单==============");
            System.out.println("\t\t1 零钱通明细");
            System.out.println("\t\t2 收益入账");
            System.out.println("\t\t3 消费");
            System.out.println("\t\t4 退" + "\t" + "出");
            System.out.print("请选择1-4:");int key= scanner.nextInt();//选择;
            switch (key){
                case 1:detailed_();break;
                case 2:input();break;
                case 3:output();break;
                case 4:System.out.println("\t\t程序已经退出");loop=false;break;
            }

        }
    }

void detailed_()方法

public void detailed_(){
        System.out.println(detailed);//直接输出字符
    }

public void input()方法

public void input(){//收益入账
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入金额:");
        this.in_money=scanner.nextDouble();

        while(in_money<0){
            System.out.println("======输入有误======");
            System.out.println("是否重新输入?Y(是)或 N(否) ");//可能点错了不是输入
            String in=scanner.next();//是否重新输入
            if(in.equals("n")||in.equals("N")){
                System.out.println("返回主页面中....");
                /*****************************************/
                try {
                    Thread.sleep( 1000 );//暂停1秒提升用户感受
                } catch (Exception e){}
                /*******************************************/
                return;//退出输入
            }

                System.out.println("请输入金额:");
                this.in_money=scanner.nextDouble();
        }
        this.balance+=this.in_money;
        String beizhu="";
        date = new Date();
        System.out.println("请输入备注:");
        beizhu=scanner.next();
        this.detailed+="\n收益入帐\t+" + this.in_money + "\t" + sdf.format(date) +
                "\t余额:" + this.balance+ "  备注:" +beizhu;
    }

public void output()方法

 public void output(){
        System.out.println("请输入金额:");
        Scanner scanner = new Scanner(System.in);
        in_money=scanner.nextDouble();
        if(balance<in_money){
            System.out.println("余额不足,请充值");
            return;
        }
        while(in_money<0){
            System.out.println("输入错误,请重输");
            in_money=scanner.nextDouble();
            if(balance<in_money){
                System.out.println("余额不足,请充值");
                return;
            }
        }
        this.balance-=in_money;
        System.out.println("请输入备注:");
        String beizhu=scanner.next();
        this.detailed+="\n余额支出\t-" + this.in_money + "\t" + sdf.format(date) +
                "\t余额:" + this.balance+ "  备注:" +beizhu;

    }

SmallChangeSysOOP完整代码

package com.project.money.oop;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class SmallChangeSysOOP {
    private  double in_money=0;//当前流动的钱
    private double balance=0;//余额
    private String detailed="------------零钱通明细--------------";
    private Date date = null;
    //可以用于日期格式化的
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");

    public void menu(){//菜单
        boolean loop=true;
        Scanner scanner = new Scanner(System.in);
        while(loop){//循环展示菜单
            System.out.println("\n============oop零钱通菜单==============");
            System.out.println("\t\t1 零钱通明细");
            System.out.println("\t\t2 收益入账");
            System.out.println("\t\t3 消费");
            System.out.println("\t\t4 退" + "\t" + "出");
            System.out.print("请选择1-4:");int key= scanner.nextInt();//选择;
            switch (key){
                case 1:detailed_();break;
                case 2:input();break;
                case 3:output();break;
                case 4:System.out.println("\t\t程序已经退出");loop=false;break;
            }

        }
    }
    //1 零钱通明细
    public void detailed_(){
        System.out.println(detailed);
    }
    //2 收益入账"
    public void input(){//收益入账
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入金额:");
        this.in_money=scanner.nextDouble();

        while(in_money<0){
            System.out.println("======输入有误======");
            System.out.println("是否重新输入?Y(是)或 N(否) ");//可能点错了不是输入
            String in=scanner.next();//是否重新输入
            if(in.equals("n")||in.equals("N")){
                System.out.println("返回主页面中....");
                /*****************************************/
                try {
                    Thread.sleep( 1000 );//暂停1秒提升用户感受
                } catch (Exception e){}
                /*******************************************/
                return;//退出输入
            }

                System.out.println("请输入金额:");
                this.in_money=scanner.nextDouble();
        }
        this.balance+=this.in_money;
        String beizhu="";
        date = new Date();
        System.out.println("请输入备注:");
        beizhu=scanner.next();
        this.detailed+="\n收益入帐\t+" + this.in_money + "\t" + sdf.format(date) +
                "\t余额:" + this.balance+ "  备注:" +beizhu;
    }
    //3消费
    public void output(){
        System.out.println("请输入金额:");
        Scanner scanner = new Scanner(System.in);
        in_money=scanner.nextDouble();
        if(balance<in_money){
            System.out.println("余额不足,请充值");
            return;
        }
        while(in_money<0){
            System.out.println("输入错误,请重输");
            in_money=scanner.nextDouble();
            if(balance<in_money){
                System.out.println("余额不足,请充值");
                return;
            }
        }
        this.balance-=in_money;
        System.out.println("请输入备注:");
        String beizhu=scanner.next();
        this.detailed+="\n余额支出\t-" + this.in_money + "\t" + sdf.format(date) +
                "\t余额:" + this.balance+ "  备注:" +beizhu;

    }


}

一些图片

Java如何实现零钱通

Java如何实现零钱通

Java如何实现零钱通

Java如何实现零钱通

感谢各位的阅读,以上就是“Java如何实现零钱通”的内容了,经过本文的学习后,相信大家对Java如何实现零钱通这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

推荐阅读:
  1. 微信 付款到零钱
  2. Python如何实现疫情通定时自动填写功能

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

java

上一篇:javascript如何让li隐藏

下一篇:C++继承中的对象构造与析构和赋值重载实例分析

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》