package 银行账户管理;
import java.util.Scanner;
/**
* 用户类:属性:账户,密码,金额,真实姓名; 方法:存款,取款 对象数组,存储现有对象,预存两个对象,测试用
*/
public class Index {
static Scanner scanner = new Scanner(System.in);
static User[] users = new User[5];
public static void main(String[] args) {
for (int i = 0; i < users.length; i++) {
users[i] = new User("0");
}
users[0].setId(12345);
users[0].setPsd(12345);
users[0].setName("啦啦啦");
users[0].setBal(1000000);
boolean flag = true;
while (flag) {
System.out.println("=======请选择功能:=======");
System.out.println("0.退出系统");
System.out.println("1.用户登录");
System.out.println("2.用户注册");
System.out.print("===》您选择的功能为:");
int choose = scanner.nextInt();
switch (choose) {
case 0:
System.out.println("退出成功!");
flag = false;
break;
case 1:
login();
break;
case 2:
register();
break;
}
}
}
public static void login() {
boolean P = false, js = true;
for (int i = 0; i < 3 && js == true; i++) {
System.out.println("请输入账号:");// 先判断账号是否存在
int id = scanner.nextInt();
for (int j = 0; j < users.length; j++) {
if (users[j].getId() == id) {
P = true;// 账号存在
boolean pd = true;
int z = 0;
while (z < 3 && pd == true) {
System.out.println("请输入密码:");
int psd = scanner.nextInt();
if (users[j].getPsd() == psd) {
boolean flag = true;
while (flag) {
show(users[j]);
System.out.println("请选择功能:");
System.out.println("0.退出");
System.out.println("1.存钱");
System.out.println("2.取钱");
int choose = scanner.nextInt();
switch (choose) {
case 0:
flag = false;
break;
case 1:
deposit(users[j]);
break;
case 2:
withdraw(users[j]);
break;
}
}
pd = false;
js = false;
} else {
System.out.println("密码错误!");
System.out.println("您还有" + (2 - z) + "次机会");
if (z == 2) {
js = false;
}
z++;
}
}
}
}
if (!P) {// 账号不存在提醒重新输入,共三次机会
System.out.println("账号不存在,请核对账号!");
System.out.println(2 - i + "次后系统自动退出!");
}
}
}
public static void deposit(User user) {
System.out.println("请输入存入金额:");
int money = scanner.nextInt();
user.deposit(money);
}
public static void withdraw(User user) {
if(user.getBal()<=0) {
System.out.println("余额不足,无法取钱");
}
else {
System.out.println("请输入取出金额:");
int money = scanner.nextInt();
user.wdm(money);
}
}
public static void show(User user) {
System.out.print("姓名:" + user.getName() + "\t");
System.out.print("现有余额为:" + user.getBal() + "\n");
}
public static void register()
{
boolean full=true;
int nu=-1;
for (int i = 0; i < users.length; i++) {
if(users[i].getName().equals("0"))
{
full=false;
nu=i;
}
}
if(full)
{
System.out.println("系统空间已满,无法完成注册!");
}
else {
System.out.println("请输入账号:");
int id=scanner.nextInt();
System.out.println("请输入密码:");
int psd=scanner.nextInt();
System.out.println("请输入真实姓名:");
String name=scanner.next();
System.out.println("请输入初始存入金额:");
int bal=scanner.nextInt();
users[nu].setId(id);
users[nu].setPsd(psd);
users[nu].setName(name);
users[nu].setBal(bal);
System.out.println("注册成功!");
}
}
}
class User {
// 私有属性
private int id;// 账号
private int psd;// 密码
private String name;// 用户真实姓名
private int bal;// 余额
// 封装-set
public void setId(int id) {
this.id = id;
}
public void setPsd(int psd) {
this.psd = psd;
}
public void setName(String name) {
this.name = name;
}
public void setBal(int bal) {
this.bal = bal;
}
// 封装-get
public int getId() {
return id;
}
public int getPsd() {
return psd;
}
public String getName() {
return name;
}
public int getBal() {
return bal;
}
// 方法
public void deposit(int bal) {// 存款
this.bal += bal;
}
public void wdm(int wm) {// withdrow money取款
bal -= wm;
}
public User(String name) {// 单参构造函数,用于初始化对象数组
setName(name);
}
public User(int id,int psd,String name,int bal)
{
setId(id);
setPsd(psd);
setName(name);
setBal(bal);
}
}