import java.util.Scanner;
/**
* 使用封装完成银行系统
* 1.用户可以进行登录,登录不成功则继续登录,直到登录成功为止
* 2.可以完成取钱功能(余额不够则给出提示)
* 3.可以完成存钱功能
*
* @author Administrator
*/
public class BankSys {
// 定义一个成员变量为用户对象
User user;
// 余额
double money;
// 取钱金额
double getMoney;
/**
* 设置默认用户的用户名,密码
*/
public void setUser(){
user = new User("lzl", "123");
}
/**
* 登录方法
* @param username 传进来的用户名
* @param password 传进来的密码
* @return
*/
public boolean login(String username, String password) {
if (user.getUserName().equals(username) && user.getPwd().equals(password)) {
return true;
} else {
return false;
}
}
/**
* 存钱方法
*/
public void saveMoney(){
System.out.println("请输入存款金额:");
Scanner in = new Scanner(System.in);
money = money + in.nextDouble();
System.out.println("存钱成功!-----------当前余额为:" + money + "元");
}
/**
* 取钱方法
*/
public void getMoney(){
System.out.println("请输入取款金额:");
Scanner in = new Scanner(System.in);
getMoney = in.nextDouble();
if (getMoney > money) {
System.out.println("余额不足,取款失败!");
}else {
money = money - getMoney;
System.out.println("取款成功!-----------当前余额为:" + money + "元");
}
}
public static void main(String[] args) {
// 创建银行系统对象
BankSys bankSys = new BankSys();
bankSys.setUser();
System.out.println("=========欢迎进入xxx银行========");
Scanner scanner = new Scanner(System.in);
// 用户登录,登录失败则一直登录
do {
System.out.println("请输入用户名:");
String username = scanner.next();
System.out.println("请输入密码:");
String password = scanner.next();
boolean flag = bankSys.login(username, password);
if (flag) {
System.out.println("登录成功!欢迎" + username);
break;
}else {
System.out.println("用户名或密码错误,请重新输入!");
}
} while (true);
// 用户存取款功能
do {
System.out.println("请选择要进行的操作:1.存款\t2.取款\t0.退出");
int choice = scanner.nextInt();
switch (choice) {
case 1:
bankSys.saveMoney();
break;
case 2:
bankSys.getMoney();
break;
case 0:
System.out.println("退出成功!");
System.exit(0);
break;
default:
System.out.println("选择的操作有误!");
break;
}
} while (true);
}
}
/**
* 用户类
* @author Administrator
*
*/
class User{
// 定义用户的属性:用户名,密码
private String userName;
private String pwd;
// 定义成员变量对应的get和set方法,以便外界可以对其成员变量进行操作
// 方法的封装
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public User() {}// 无参的构造方法
public User(String userName,String pwd) {// 有参的构造方法
this.userName = userName;
this.pwd = pwd;
}
}
使用封装完成银行系统 * 1.用户可以进行登录,登录不成功则继续登录,直到登录成功为止 * 2.可以完成取钱功能(余额不够则给出提示) * 3.可以完成存钱功能
于 2018-05-16 20:50:48 首次发布