目录
银行新用户现金业务办理
任务描述
编写一个银行新用户现金业务办理程序,使其模拟新用户到银行办理现金存取业务时的场景。要求在此场景中,要模拟出银行对用户到来的欢迎动作,对用户离开的提醒动作,以及用户的开户,存款和取款操作,在完成开户,存款,取款操作后,要提示用户的账户余额。
运行结果
任务目标
-
学会分析"银行新用户现金业务办理"程序任务实现的逻辑思路。
-
能够独立完成"银行新用户现金业务办理"程序的源代码编写,编译及运行。
-
学会构造方法以及this关键字的使用。
-
学会静态变量以及动态变量的使用以及调用方法。
实现思路
①通过任务的描述可知,此需求需要定义一个银行类。当用户去银行办理业务时,相当于办理了此银行的账户,所以这个类中要有这个银行的以及这个银行的账户信息,要包括银行的名称,用户的名称,密码,账户余额和交易金额等数据。由于银行的名称不会改变,所以可以用静态变量来定义银行的名称。
②新用户到达银行之后,银行会表示欢迎,所以应该在银行类中定义欢迎方法。所以定义的方法也可以是静态的方法。
③银行表示欢迎之后会为用户办理开户手续,开户相当于创建银行类的实例,所以开户操作可以写入银行类的构造方法中,开户时需扣除10元手续费。
④开户成功后可以为用户办理存款和取款的业务,这两种业务都会改变账户的余额,但是当用户密码输入错误,或取款的金额大于余额时,取款业务不能办理,并提示用户。
⑤用户离开时,银行会提示,欢迎下次光临,这个方法也可以使用静态方法输出语句。
⑥编写交易类,在此类中模拟新用户去银行办理现金业务的场景。
实现代码
定义银行类Bank
package math;
public class Bank {
static String bankName;
private String name;
private String password;
private double balance;
private double turnover;
//静态方法,打印出银行的欢迎语句
static void welcome(){
System.out.println("欢迎来到"+bankName);
}
//构造方法 开户
public Bank(String name,String password,double turnover){
//将变量赋值给成员变量 通过this关键字来区分成员变量和构造方法传入的参数
this.name=name;
this.password=password;
this.turnover=turnover;
this.balance=turnover-10;
System.out.println(name+"开户成功,账户余额"+balance);
}
//存款
public void deposit(double turnover){
balance=balance+turnover;
System.out.println(name+"你好,你的账户已存入"+turnover+"元,当前余额"+balance+"元。");
}
//取款
public void withdrawal(String password,double turnover){
//根据传入的变量与成员变量对比,判断密码是否正确
if(this.password!=password){
System.out.println("你输入的密码错误");
return;
}
//判断余额是否充足
if(turnover<balance){
balance=balance-turnover;
System.out.println(name+"你好,你的账户已取出"+turnover+"元,当前余额"+balance+"元");
}else{
System.out.println("对不起,你的余额不足");
}
}
//静态方法,打印出银行欢迎下次光临语句
static void welcomeNext(){
System.out.println("欢迎下次光临");
}
}
定义用户交易类Trade
package math;
public class Trade {
public static void main(String[] args) {
//定义一家银行(给静态变量赋值,可以直接使用类名访问)
Bank.bankName="招商银行";
//调用静态方法,打印银行欢迎语句
Bank.welcome();
//通过构造方法进行开户操作
Bank bank=new Bank("小静","123456",100.0);
//进行存款操作
bank.deposit(500.00);
//取款密码输入错误,取款失败
bank.withdrawal("654321",200.0);
//取款时余额不足时,取款失败
bank.withdrawal("123456",1000.0);
//取款时密码正确,余额充足,取款成功
bank.withdrawal("123456",200.0);
//调用静态方法,打印银行道别语句
Bank.welcomeNext();
}
}
⛵总结
通过这篇文章可以让我们更加细致的了解新用户到银行进行存取钱所需要进行的操作,学会了如何去分析一个问题,如何把一个大的复杂的问题去分解成小问题,从小的项目做起,积累项目经验,可以让我们在以后大的项目开发过程中提升竞争力。
如果这篇【文章】有帮助到你,希望可以点个赞👍,创作不易,如果有对【Java基础】【后端技术】、【数据结构】【Linux操作系统】感兴趣的小可爱,也欢迎关注 【LNORA】,对【算法设计与分析】感兴趣的可以免费订阅【算法设计与分析】的专栏,如果我的文章有帮助到你,麻烦来个一键三连奥,这将是对我莫大的鼓励,我将为大家带来更加优质的文章!我们可以一起进步,每天进步一点点,我将会给你带来巨大的【收获与惊喜】💝💝!