2、模拟银行操作
设计实现一个银行新用户现金业务办理程序,使其模拟新用户到银行办理现金存取业务时的场景。要求如下:
(1)有对于用户到来的欢迎动作、用户离开的提醒动作
(2)有用户的开户、存款和取款动作,在完成开户存款和取款操作后,要提示用户的帐户余额。
提示:
(1)声明Bank类,在Bank类中声明成员变量用于描述用户姓名,用户密码等相关信息,创建构造方法用于开户,创建静态方法用于打印欢迎语句,创建成员方法用于存款,取款等操作。
(2)在主类中创建对象,调用方法进行存取款等操作。
1.Bank类中声明成员变量用于描述用户姓名,用户密码等相关信息,创建构造方法用于开户,创建静态方法用于打印欢迎语句,创建成员方法用于存款,取款等操作
package H01;
class Bank{
//定义成员属性
private String name;
private int password;//密码
private double balance;//账户余额
//构造方法用于开户
public Bank(String name,int password,double balance) {
welcome();
this.name=name;
this.password=password;
this.balance=balance;
System.out.println(name+" 开户成功,账户余额为"+this.balance);
}
//创建静态方法用于打印欢迎语句
public static void welcome() {
System.out.println("欢迎来到招商银行-----------");
}
//创建成员方法用于存款
public void deposit(int pw,double dmoney) {
if(pw!=this.password) {
System.out.println("您输入的密码错误!");
}else {
balance=balance+dmoney;
System.out.println(name+"您好,您的账户已存入"+dmoney+",当前余额为"+balance+"元");
}
}
//创建成员方法用于取款
public void withdrawMoney(int pw,double wmoney) {
if(pw!=this.password) {
System.out.println("您输入的密码错误!");
}else {
if(wmoney>balance) {
System.out.println("对不起,账户余额不足!");
}else {
balance=balance-wmoney;
System.out.println(name+"您好,您的账户 已取出"+wmoney+"元,当前余额"+balance+"元");
}
}
}
}
2.在主类中创建对象,调用方法进行存取款等操作
package H01;
public class Test {
public static void main(String[] args) {
//创建实例对象
Bank user = new Bank("张三", 123456, 90.0);
user.deposit(123456, 500.0);//密码正确的存款操作
user.deposit(123, 500.0);//密码错误的存款操作
user.withdrawMoney(123456, 2000.0);//超出余额的取款操作
user.withdrawMoney(123456, 300.0);//未超出余额的取款操作
System.out.println("请随身携带好财务,欢迎下次光临招商银行-----------");
}
}
汇总如下:
class Bank{
//定义成员属性
private String name;
private int password;//密码
private double balance;//账户余额
//构造方法用于开户
public Bank(String name,int password,double balance) {
welcome();
this.name=name;
this.password=password;
this.balance=balance;
System.out.println(name+" 开户成功,账户余额为"+this.balance);
}
//创建静态方法用于打印欢迎语句
public static void welcome() {
System.out.println("欢迎来到招商银行-----------");
}
//创建成员方法用于存款
public void deposit(int pw,double dmoney) {
if(pw!=this.password) {
System.out.println("您输入的密码错误!");
}else {
balance=balance+dmoney;
System.out.println(name+"您好,您的账户已存入"+dmoney+",当前余额为"+balance+"元");
}
}
//创建成员方法用于取款
public void withdrawMoney(int pw,double wmoney) {
if(pw!=this.password) {
System.out.println("您输入的密码错误!");
}else {
if(wmoney>balance) {
System.out.println("对不起,账户余额不足!");
}else {
balance=balance-wmoney;
System.out.println(name+"您好,您的账户 已取出"+wmoney+"元,当前余额"+balance+"元");
}
}
}
}
public class Test {
public static void main(String[] args) {
//创建实例对象
Bank user = new Bank("张三", 123456, 90.0);
user.deposit(123456, 500.0);//密码正确的存款操作
user.deposit(123, 500.0);//密码错误的存款操作
user.withdrawMoney(123456, 2000.0);//超出余额的取款操作
user.withdrawMoney(123456, 300.0);//未超出余额的取款操作
System.out.println("请随身携带好财务,欢迎下次光临招商银行-----------");
}
}
运行结果如下:
方法二:
// 声明Bank类
public class Bank {
private String userName; // 用户姓名
private double balance; // 账户余额
// 构造方法用于开户
public Bank(String userName) {
this.userName = userName;
this.balance = 90.0; // 初始余额设为90.0
welcome();
}
// 静态方法用于打印欢迎语句
public static void welcome() {
System.out.println("欢迎来到招商银行");
}
// 存款方法
public void deposit(double amount) {
balance += amount;
System.out.println(userName + "您好,您的账户已存入" + amount + "元,当前余额" + balance + "元");
}
// 取款方法
public void withdraw(double amount) {
if (amount > balance) {
System.out.println("对不起,账户余额不足!");
} else {
balance -= amount;
System.out.println(userName + "您好,您的账户已取出" + amount + "元,当前余额" + balance + "元");
}
}
// 离开时的提醒动作
public void farewell() {
System.out.println("请携带好随身财物,欢迎下次光临招商银行");
}
}
// 主类
public class Main {
public static void main(String[] args) {
// 创建Bank对象
Bank bank = new Bank("小梦");
// 进行存取款操作
bank.deposit(500); // 存款500元
bank.withdraw(200); // 取款200元
bank.farewell(); // 离开时的提醒
}
}