设计实现一个银行新用户现金业务办理程序,使其模拟新用户到银行办理现金存取业务时的场景。要求如下:
(1)有对于用户到来的欢迎动作、用户离开的提醒动作
(2)有用户的开户、存款和取款动作,在完成开户存款和取款操作后,要提示用户的帐户余额。
提示:
(1)声明Bank类,在Bank类中声明成员变量用于描述用户姓名,用户密码等相关信息,创建构造方法用于开户,创建静态方法用于打印欢迎语句,创建成员方法用于存款,取款等操作。
(2)在主类中创建对象,调用方法进行存取款等操作。
程序运行效果如下图所示,注意:姓名换成自己的真实姓名,功能实现不拘泥于下图,可以自由发挥,但是必须有开户,存款,取款操作。
public class Bank {
private String username;
private String password;
private double balance;
public Bank(String username, String password, double initailbalance) {
this.username = username;
this.password = password;
this.balance = initailbalance;
welcome();
}
//静态方法打印欢迎语句
public static void welcome() {
System.out.println("欢迎来到招商银行————————————-");
}
//存款
public void deposit(double amount) {
if(amount > 0){
balance+=amount;
System.out.println(username+"您好,您的账户 已存入"+amount +"元,当前余额 " + balance+" 元");
} else {
System.out.println("存款金额必须大于0!");
}
}
//取款
public void withdrawal(double amount) {
if(amount>0&&amount<=balance) {
balance-=amount;
System.out.println(username+"您好,您的账户 已取出"+amount+" 元,当前余额 " + balance +" 元");
} else if(amount>balance){
System.out.println("对不起,账户余额不足!");
} else {
System.out.println("取款金额必须大于0!");
}
}
//开户成功提示
public void welcome1() {
System.out.println(username+" 开户成功,账户余额 ");
}
//密码错误
public void mistake() {
System.out.println("您输入的密码错误!");
}
//退出提示
public void leave() {
System.out.println("请携带还好随身财物,欢迎下次光临招商银行————————————");
}
}
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 打印欢迎语句
Bank.welcome();
//开户
System.out.print("请输入您的姓名:");
String username = scanner.nextLine();
System.out.print("请输入您的密码:");
String password = scanner.nextLine();
System.out.print("请输入初始存款金额:");
double initialBalance;
while (!scanner.hasNextDouble()) {
System.out.println("请输入有效的初始存款金额!");
scanner.next();
}
initialBalance = scanner.nextDouble();
scanner.nextLine();
Bank userBank = new Bank(username, password, initialBalance);
userBank.welcome1();
// 用户选择
int choice;
do {
System.out.println("\n请选择操作:");
System.out.println("1. 存款");
System.out.println("2. 取款");
System.out.println("3. 退出");
choice = scanner.nextInt();
switch (choice) {
case 1:
System.out.print("请输入存款金额:");
double depositAmount = scanner.nextDouble();
userBank.deposit(depositAmount);
break;
case 2:
System.out.print("请输入取款金额:");
double withdrawAmount = scanner.nextDouble();
userBank.withdrawal(withdrawAmount);
break;
case 3:
userBank.leave();
break;
default:
System.out.println("无效选择,请重新选择!");
}
} while (choice != 3);
scanner.close();
}
}