任务描述:
银行对于新用户表示欢迎,离开时表示提醒,注意携带财物,下次光临。对新用户进行开户,然后执行存款取款操作,提示余额。
import java.util.*;
//银行类
class Bank{
static String bankName; //银行名称
private String name; //账户名
private String password; //账户密码
public String getName() {
return name;}
public void setName(String name) {
this.name = name;}
public String getPassword() {
return password;}
public void setPassword(String password) {
this.password = password;}
// 欢迎
public void speak() {
System.out.println("欢迎光临!-----");
System.out.println(""); }
//开户
public void ApplyCard(Account ac) {
System.out.println(ac.name+"开通了账户---");
ac.show();}
}
//用户类
class Person1{
Scanner sc=new Scanner(System.in);
// 存款
public void OutMoney(Account ac,Bank ban) {
// 输入密码和存款金额
while(true) {
System.out.println("输入密码:");
String password1=sc.next();
if(ban.getPassword().equals(password1)) {
System.out.println("输入正确");
System.out.println("输入要存的金额:");
int outmoney=sc.nextInt();
ac.money+=outmoney;
// ac.show();
System.out.println(11);
break;
}else {
System.out.println("输入有误"); }
}
}
// 取款
public void InMoney(Account ac,Bank ban) {
// 输入密码和取款金额
while(true) {
System.out.println("输入密码:");
String password1=sc.next();
if(ban.getPassword().equals(password1)) {
System.out.println("输入正确");
System.out.println("输入要取的金额:");
int outmoney=sc.nextInt();
ac.money-=outmoney;
ac.show();
break;
}else {
System.out.println("输入有误");
}}
}}
class Account{
static String name="李华";
double money=90.00;
public void show() {
System.out.println("你的账户还剩"+money);
}
}
public class test2 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
Bank ba=new Bank();
Person1 per1=new Person1();
Account LiAccount=new Account();
// 开户,设置账户和密码
ba.ApplyCard(LiAccount);
ba.setName("x");
ba.setPassword("a");
// 功能列表
System.out.println("1.存钱");
System.out.println("2.取款");
System.out.println("3.退出");
System.out.println("输入你的操作(1、2、3):");
int choose=sc.nextInt();
while(true) {
switch(choose) {
case 1:{
per1.OutMoney(LiAccount,ba);// 存款
break;
}case 2:{
per1.InMoney(LiAccount,ba);// 取款
break;
}case 3:{
System.out.println("欢迎下次光临!");// 退出
break;
}default:{
System.out.println("输入有误!");
}
}
}
}
}
缺点:进行存钱取钱操作时,break不起作用,处于循环当中;对比下面的代码,对于equal()的使用有点疑惑
package Unit8;
import java.util.*;
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.name=name;
this.password=password;
this.turnover=turnover;
// 开户要花10元
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(balance-turnover>0) {
balance-=turnover;
System.out.println(name+"你好,你的账户已取出"+
turnover+"元,当前余额"+balance+"元");
}else {
System.out.println("对不起,你的账户余额不足");
}
}
// 静态方法,打印结束语
static void welcomNext() {
System.out.println("请携带好随身财物,欢迎下次光临"+bankName+"-----");
}
}
public class test2 {
public static void main(String[] args) {
Bank.bankName="招商银行";
Bank.welcome();
// 通过构造方法进行开户操作
Bank bank=new Bank("小梦","1",12.0);
// 进行存款操作
bank.deposit(500.00);
// 取款操作,第一次输入密码错误,第二次输入正确,但是余额不足
bank.withdrawal("123456",200.0);
bank.withdrawal("1", 1000.0);
bank.withdrawal("1", 200.0);
Bank.welcomNext();
}
}
时间:2022.1.19