java缴费功能怎么做?java实现缴费银行卡缴费功能操作

Java是目前最流行的编程语言,学会java我们可以使用它开发很多应用出来,例如开发小游戏,小程序,网页等,那java缴费功能怎么做?下面来我们就来给大家讲解一下java实现缴费银行卡缴费功能操作。

定义类:UnionCard

成员变量:

private String id;//卡号

private double balance;//余额

private int pw;//密码

方法:

1.public UnionCard(String id, double balance, int pw)

功能:初始化成员变量

2.setXX/getXX方法

3.public void saveMoney(int money)

存钱的方法

4.public boolean takeMoney(int money)

取钱的方法,如果余额为<0,返回false,否则返回true

5.public boolean checkPw(int pw)

验证密码是否相同,相同返回true,否则返回false

定义类:BOC

1.public BOC(String id, double balance, int pw)

构造方法传值

定义接口:PayTelInter

boolean payTel(int money)

1.定义抽象方法,开通交电话费的功能

定义类:ATM

成员变量:

1.private UnionCard card;

方法:

1.public void insertCard(UnionCard card)

模拟插卡的功能,不同卡片显示不同的menu

2.public void showBocMenu()

//如果密码正确,显示显示中国银行的菜单,否则显示密码错误,退出系统

1 查看余额 2存钱 3取钱 4 交话费 5退出

3.private void showBalance();

显示余额

输入1时,调用此方法,显示余额;控制台,显示输入0 返回

4.private void saveBalance();

完成存钱的功能,并输出成功

输入2时,调用此方法;控制台,显示输入0 返回

5.private void takeBalance()

完成取钱的功能,如果满足取钱的条件,显示成功,否则显示失败!!!,余额不足

输入3时,调用此方法;控制台,显示输入0 返回

6.private void payMethod()

完成交话费的功能,使用lambda表达式完成,如果满足交话费的条件,显示缴费成功!!!

否则显示失败!!!,余额不足

输入4时,调用此方法;控制台,显示输入0 返回

7.输入5是,退出

定义入口类:MainClass

具体:

UnionCard:

public class UnionCard
{
    private String id; //卡号
    private double balance; //余额
    private int pw; //密码
    public UnionCard(String id, double balance, int pw)
    {
        this.id = id;
        this.balance = balance;
        this.pw = pw;
    }
    public String getId()
    {
        return id;
    }
    public void setId(String id)
    {
        this.id = id;
    }
    public double getBalance()
    {
        return balance;
    }
    public void setBalance(double balance)
    {
        this.balance = balance;
    }
    public int getPw()
    {
        return pw;
    }
    public void setPw(int pw)
    {
        this.pw = pw;
    }
    //存钱
    public void saveMoney(int money)
    {
        balance += money;
    }
    //取钱
    public boolean takeMoney(int money)
    {
        if (money > 0 && money < balance) p = ""
        {
            <= "" >
            balance -= money;
            return true;
        }
        else
        {
            System.out.println("您的余额不足");
            return false;
        }
    }
    public boolean checkPw(int pw)
    {
        if (this.pw == pw)
        {
            return true;
        }
        return false;
    }
}

BOC.java:

public class BOC extends UnionCard
{
    public BOC(String id, double balance, int pw)
    {
        super(id, balance, pw);
    }
}

ATM.java:

public class ATM
{
    private UnionCard card;
    public void insertCard(UnionCard card)
    {
        this.card = card;
        if (card instanceof BOC)
        {
            showBocMenu();
        }
    }
    public void showBocMenu()
        {
            System.out.println("---------中国自助ATM机--------");
            System.out.println("请输入您的密码:");
            Scanner sc = new Scanner(System.in);
            int pw = sc.nextInt();
            if (card.checkPw(pw) == true)
            {
                while (true)
                {
                    System.out.println("1.查看余额");
                    System.out.println("2.存钱");
                    System.out.println("3.取钱");
                    System.out.println("4.交话费");
                    System.out.println("5.退出");
                    System.out.println("请输入您的操作:");
                    int a = sc.nextInt();
                    switch (a)
                    {

case 1:

showBalance();
System.out.println("输入0返回");
int n = sc.nextInt();
if (n == 0)
{
    break;
}

case 2:

saveBalance();
System.out.println("输入0返回");
int m = sc.nextInt();
if (m == 0)
{
    break;
}

case 3:

takeBalance();
System.out.println("输入0返回");
int b = sc.nextInt();
if (b == 0)
{
    break;
}

case 4:

payMethod();
System.out.println("输入0返回");
int c = sc.nextInt();
if (c == 0)
{
    break;
}

case 5:

System.exit(0);
}
}
}
else
{
    System.out.println("密码错误");
    System.exit(0);
}
}
private void showBalance()
{
    System.out.println("您的余额为:" + card.getBalance());
}
private void saveBalance()
{
    System.out.println("请输入你要存钱金额:");
    Scanner sc = new Scanner(System.in);
    int money = sc.nextInt();
    card.saveMoney(money);
    System.out.println("存钱成功");
}
private void takeBalance()
{
    System.out.println("请输入您的取钱金额:");
    Scanner sc = new Scanner(System.in);
    int money = sc.nextInt();
    if (card.takeMoney(money))
    {
        System.out.println("取钱成功");
    }
    else
    {
        System.out.println("失败");
    }
}
private void payMethod()
{
    System.out.println("请输入您的充值金额:");
    Scanner sc = new Scanner(System.in);
    int z = sc.nextInt();
    PayTellnter a = money - >
    {
        return card.takeMoney(z);
    };
    if (a.payTel(z))
    {
        System.out.println("充值成功");
    }
    else
    {
        System.out.println("充值失败");
    }
}
}
PayTellnter.java:
    public interface PayTellnter
    {
        public abstract boolean payTel(int money);
    }

按照这样的流程java实现银行卡缴费功能就做好了,怎么样!是不是觉得很神奇!如果我们学会java的话,也可以使用java进行开发哦! 最后大家如果想要了解更多java实例知识,敬请关注奇Q工具网。

推荐阅读:

Java数据库的主键和外键是什么?数据库怎么理解?

java架构师40岁以后出路有哪些?java架构师有没有前途?

java面试中有哪些锁?Java锁面试题有哪些?