package zuo_ye3;
import java.util.ArrayList;
import java.util.Scanner;
public class Account {
int account_id; // 账户
String savers_name; // 储户名
String open_time; // 开户时间
long user_id; // 身份证号
double money; // 余额
// 无参构造。
public Account() {}
// 有参构造。
public Account(int account_id, String savers_name, String open_time, long user_id, double money) {
this.account_id = account_id;
this.savers_name = savers_name;
this.open_time = open_time;
this.user_id = user_id;
this.money = money;
}
// 打印方法。
public void output(int number) {
if (number == 1) {
System.out.print(account_id + "\t\t");
System.out.print(savers_name + "\t\t");
System.out.print(user_id + "\t\t");
System.out.println();
} else if (number == 2) {
System.out.println("---------------用户详细信息打印---------------");
System.out.println("账号为: " + account_id);
System.out.println("储户名为: " + savers_name);
System.out.println("开户时间为: " + open_time);
System.out.println("身份证号为: " + user_id);
System.out.println("账户余额为: " + money + "元");
} else {
System.out.println("---------------账户余额打印---------------");
System.out.println("账号: " + account_id);
System.out.println("当前账户余额为: " + money + "元");
}
}
// 查询方法
public void find(ArrayList<Account> arr) {
Scanner scan = new Scanner(System.in);
System.out.println("---------------查询程序---------------");
System.out.println("【1】查看所有用户");
System.out.println("【2】查看用户详细信息");
System.out.println("【3】查看账户余额");
System.out.println("【4】返回");
System.out.print("请选择:");
while (true) {
int number = scan.nextInt();
if (number != 4) {
if (arr.size() == 0) {
System.out.println("提示: 当前没有可查询的用户,请返回添加用户");
this.find(arr);
}
}
switch (number) {
case 1:
{
System.out.println("---------------打印所有用户---------------");
System.out.println("账号\t\t储户名\t\t身份证号");
for (int i = 0; i < arr.size(); i++) {
Account user = arr.get(i);
user.output(number);
}
this.find(arr);
}
break;
case 2:
int k1 = pan(arr);
if (k1 == -1) {
System.out.println("提示: 查找失败!!");
this.find(arr);
} else {
Account user2 = arr.get(k1);
user2.output(number);
}
;
this.find(arr);
break;
case 3:
int k = pan(arr);
if (k == -1) {
System.out.println("查找失败!!");
this.find(arr);
} else {
Account user1 = arr.get(k);
user1.output(number);
}
;
this.find(arr);
case 4:
welcome(arr);
}
}
}
// 销户方法
public void user_delete(ArrayList<Account> arr) {
Scanner scan = new Scanner(System.in);
System.out.println("---------------销户程序---------------");
System.out.println("【1】删除所有用户");
System.out.println("【2】删除指定用户");
System.out.println("【3】返回");
System.out.print("请选择:");
while (true) {
int number = scan.nextInt();
if (number != 3) {
if (arr.size() == 0) {
System.out.println("提示: 当前没有可删除的的用户,请返回添加用户");
this.user_delete(arr);
}
}
switch (number) {
case 1:
System.out.println("---------------删除所有用户---------------");
int leng = arr.size();
while (leng != 0) {
int i = 0;
Account user = arr.get(i);
if (arr.remove(arr.get(i))) {
System.out.println(user.savers_name + "用户删除成功!");
}
if (arr.size() == 0) {
System.out.println("提示: 已全部删除成功!");
}
leng--;
}
this.user_delete(arr);
break;
case 2:
int k1 = pan(arr);
if (k1 == -1) {
System.out.println("提示: 该账户不存在!!");
this.user_delete(arr);
} else {
Account user2 = arr.get(k1);
if (arr.remove(arr.get(k1))) {
System.out.println(user2.savers_name + "用户删除成功!");
this.user_delete(arr);
}
}
;
break;
case 3:
welcome(arr);
default:
System.out.println("输入有无请重新!!");
}
}
}
// 存取款方法。
public void save_money(ArrayList<Account> arr) {
Scanner scan = new Scanner(System.in);
System.out.println("---------------取存款程序---------------");
System.out.println("【1】取款");
System.out.println("【2】存款");
System.out.println("【3】返回");
System.out.print("请选择:");
while (true) {
int number = scan.nextInt();
switch (number) {
case 1:
System.out.println("---------------[1]取款程序---------------");
System.out.println("当前余额为:" + this.money + "元");
System.out.print("输入取款金额:");
double money = scan.nextDouble();
this.money -= money;
System.out.println(this.account_id + "账号中取出" + money + "后目前余额为:" + this.money + "元");
this.save_money(arr);
case 2:
System.out.println("---------------[2]存款程序---------------");
System.out.println("当前余额为:" + this.money + "元");
System.out.print("输入存款金额:");
double money1 = scan.nextDouble();
this.money += money1;
System.out.println(this.account_id + "账号存储" + money1 + ";当前余额为:" + this.money + "元");
this.save_money(arr);
break;
case 3:
welcome(arr);
default:
System.out.println("输入有无请重新!!");
}
}
}
// main方法。
public static void main(String[] args) {
ArrayList<Account> arr = new ArrayList<>();
welcome(arr);
}
// 欢迎主页
public static void welcome(ArrayList<Account> arr) {
Scanner scan = new Scanner(System.in);
Account user1 = new Account();
System.out.println("----------小银行----------");
System.out.println("【1】添加用户");
System.out.println("【2】查询");
System.out.println("【3】存款或取款");
System.out.println("【4】销户");
System.out.println("【5】退出程序");
System.out.print("请选择:");
while (true) {
int number = scan.nextInt();
switch (number) {
case 1:
// 添加用户
input(arr);
break;
case 2:
// 查询信息
user1.find(arr);
break;
case 3:
// 存取款操作
int k = pan(arr);
Account user = arr.get(k);
user.save_money(arr);
case 4:
// 销户
user1.user_delete(arr);
break;
case 5:
System.exit(0);//break; // 此处在电脑里使用退出JVM语句。
default:
System.out.println("输入有无重新输入!!");
}
}
}
// 添加用户
public static void input(ArrayList<Account> arr) {
Scanner scan = new Scanner(System.in);
System.out.print("输入账户:");
int account_id = scan.nextInt();
System.out.print("输入储户名:");
String savers_name = scan.next();
System.out.print("输入开户时间:");
String open_time = scan.next();
System.out.print("输入身份证号:");
long user_id = scan.nextInt();
System.out.print("输入余额:");
double money = scan.nextDouble();
Account a = new Account(account_id, savers_name, open_time, user_id, money);
arr.add(a);
if (arr.size() != 0) System.out.println("用户添加成功。");
else System.out.println("用户添加失败。");
welcome(arr);
}
// 账户判断
public static int pan(ArrayList<Account> arr) {
int y = 2;
Scanner scan = new Scanner(System.in);
if (arr.size() == 0) {
System.out.println("无账号,请回去添加用户!!");
return -1;
} else
label1:
while (true) {
System.out.print("输入账号:");
int account_id = scan.nextInt();
for (int i = 0; i < arr.size(); i++) {
Account user = arr.get(i);
if (account_id == user.account_id) {
return i; // .save_money(arr);
}
if (i == arr.size() - 1) {
System.out.println("该账户不存在!");
if (y > 0) {
System.out.print("还有" + y + "次输入机会\n请重新");
y--;
} else {
System.out.println("3次错误输入账户,自动退出存取款程序!!");
break label1;
}
}
}
}
System.out.println("提示: 请查看用户账号!!");
welcome(arr);
return -1;
}
}
Java 学习 <银行类编写>
于 2022-10-28 23:50:58 首次发布