package com.mybank.test;
import com.mybank.domain.Account;
import com.mybank.domain.Bank;
import com.mybank.domain.Customer;
import java.util.Scanner;
public class TestBanking {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Integer getNumber;
while (true){
System.out.println("请选择你的操作\n1:注册客户\n2:登录客户\n3:显示所有客户信息\n0:退出系统");
try{
getNumber = scanner.nextInt();
if(getNumber==1){
if(isOver()){
addCustomer();
}else {
System.out.println("客户数量已满");
}
}else if(getNumber==2){
login();
}else if(getNumber==3){
showAllCustomers();
}else if(getNumber==0){
System.out.println("退出系统");
break;
}
}catch (Exception e){
System.out.println("请输入数字1、2、3或0");
scanner = new Scanner(System.in);
}
}
}
static void customerWindow(Customer customer){
Scanner scanner = new Scanner(System.in);
Integer getNumber;
System.out.println("您好,"+customer.getFirstName()+" "+customer.getLastName());
while (true){
System.out.println("请选择你的操作\n1:添加账户\n2:存取款\n3:查看每个账户的余额\n0:退出客户");
try{
getNumber = scanner.nextInt();
if(getNumber==1){
if(isOver(customer)){
addAccount(customer);
}else {
System.out.println("账户数量已满");
}
}else if(getNumber==2){
if(customer.getNumberOfAccounts().equals(0)){
System.out.println("您还没有存款");
}else {
depositOrWithdraw(customer);
}
}else if(getNumber==3){
showAllAccounts(customer);
}else if(getNumber==0){
System.out.println("退出客户");
break;
}else {
throw new Exception();
}
}catch (Exception e){
System.out.println("请输入数字1、2、3或0");
scanner = new Scanner(System.in);
}
}
}
static void addCustomer(){
Scanner scanner = new Scanner(System.in);
System.out.println("请输入firstName:");
String firstName = scanner.nextLine();
System.out.println("请输入lastName:");
String lastName = scanner.nextLine();
int i=0;
if(Bank.numberOfCustomers!=0){
for(;i<Bank.numberOfCustomers;i++){
if(Bank.getCustomer(i).getFirstName().equals(firstName)&&Bank.getCustomer(i).getLastName().equals(lastName)){
System.out.println("该用户已注册");
return;
}
}
}
Bank.addCustomer(firstName,lastName);
System.out.println("注册成功,自动登录");
Customer customer = Bank.getCustomer(Bank.numberOfCustomers - 1);
customerWindow(customer);
}
static void addAccount(Customer customer){
Scanner scanner = new Scanner(System.in);
double amt;
while(true){
System.out.println("请输入对账户"+(customer.getNumberOfAccounts()+1)+"的存款");
try{
amt = scanner.nextDouble();
if(amt<0){
throw new Exception();
}else {
break;
}
}catch (Exception e){
System.out.println("请输入正数或0");
scanner = new Scanner(System.in);
}
}
customer.addAccount(amt);
System.out.println("存款成功");
}
static void login(){
if(Bank.numberOfCustomers==0){
System.out.println("没有客户注册过");
return;
}
Scanner scanner = new Scanner(System.in);
System.out.println("请输入firstName:");
String firstName = scanner.nextLine();
System.out.println("请输入lastName:");
String lastName = scanner.nextLine();
int i=0;
for(;i<Bank.numberOfCustomers;i++){
if(Bank.getCustomer(i).getFirstName().equals(firstName)&&Bank.getCustomer(i).getLastName().equals(lastName)){
break;
}
}
if (i == Bank.numberOfCustomers) {
System.out.println("该用户未注册");
return;
}
System.out.println("登录成功");
Customer customer = Bank.getCustomer(i);
customerWindow(customer);
}
static void depositOrWithdraw(Customer customer){
Scanner scanner = new Scanner(System.in);
Integer getAccountId;
while (true){
try{
System.out.println("您有"+customer.getNumberOfAccounts()+"个账号,请选择你想要操作的账号");
getAccountId = scanner.nextInt();
if(getAccountId<=0||getAccountId-1>=customer.getNumberOfAccounts()){
throw new Exception();
}else{
break;
}
}catch (Exception e){
System.out.println("请输入符合条件的正整数");
scanner = new Scanner(System.in);
}
}
Integer getNumber;
while (true){
System.out.println("您选择的是"+getAccountId+"号账户,该账户还剩"+customer.getAccount(getAccountId-1).getBanlance()+",请选择你的操作");
System.out.println("1.存款\n2.取款\n0.退出账户");
try{
getNumber = scanner.nextInt();
if(getNumber==1){
deposit(customer.getAccount(getAccountId-1));
}else if(getNumber==2){
withdraw(customer.getAccount(getAccountId-1));
}else if(getNumber==0){
System.out.println("退出账户");
break;
}
}catch (Exception e){
System.out.println("请输入数字1、2、3或0");
scanner = new Scanner(System.in);
}
}
}
static void deposit(Account account){
double amt = isDepositOrWithdraw();
account.deposit(amt);
System.out.println("存款成功");
}
static void withdraw(Account account){
double amt = isDepositOrWithdraw();
if(account.withdraw(amt)){
System.out.println("操作成功");
}else {
System.out.println("取款失败,你没有那么多余额");
}
}
static double isDepositOrWithdraw(){
Scanner scanner = new Scanner(System.in);
double amt;
while(true){
System.out.println("请输入数额");
try{
amt = scanner.nextDouble();
if(amt<=0){
throw new Exception();
}else {
break;
}
}catch (Exception e){
System.out.println("请输入正数");
scanner = new Scanner(System.in);
}
}
return amt;
}
static void showAllCustomers(){
if(Bank.numberOfCustomers
没有合适的资源?快使用搜索试试~ 我知道了~
demo3.zip
共62个文件
xml:52个
class:4个
java:4个
需积分: 0 0 下载量 108 浏览量
2023-05-07
13:03:07
上传
评论
收藏 38KB ZIP 举报
温馨提示
demo3.zip
资源推荐
资源详情
资源评论
收起资源包目录
demo3.zip (62个子文件)
demo3
demo3.iml 6KB
src
main
java
com
mybank
test
TestBanking.java 9KB
domain
Customer.java 1015B
Account.java 538B
Bank.java 473B
.idea
jarRepositories.xml 864B
libraries
Maven__org_hamcrest_hamcrest_2_2.xml 497B
Maven__ch_qos_logback_logback_core_1_4_7.xml 547B
Maven__org_ow2_asm_asm_9_3.xml 458B
Maven__org_apache_logging_log4j_log4j_api_2_19_0.xml 573B
Maven__org_springframework_boot_spring_boot_starter_test_3_0_6.xml 671B
Maven__net_bytebuddy_byte_buddy_agent_1_12_23.xml 585B
Maven__org_junit_jupiter_junit_jupiter_5_9_2.xml 566B
Maven__net_bytebuddy_byte_buddy_1_12_23.xml 543B
Maven__org_xmlunit_xmlunit_core_2_9_1.xml 535B
Maven__org_springframework_spring_aop_6_0_8.xml 553B
Maven__org_junit_platform_junit_platform_engine_1_9_2.xml 626B
Maven__org_springframework_spring_context_6_0_8.xml 581B
Maven__com_jayway_jsonpath_json_path_2_7_0.xml 546B
Maven__org_springframework_spring_expression_6_0_8.xml 602B
Maven__jakarta_annotation_jakarta_annotation_api_2_1_1.xml 633B
Maven__org_springframework_boot_spring_boot_3_0_6.xml 580B
Maven__org_springframework_boot_spring_boot_test_3_0_6.xml 615B
Maven__jakarta_activation_jakarta_activation_api_2_1_1.xml 633B
Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml 700B
Maven__org_junit_jupiter_junit_jupiter_engine_5_9_2.xml 615B
Maven__org_skyscreamer_jsonassert_1_5_1.xml 537B
Maven__org_mockito_mockito_core_4_8_1.xml 535B
Maven__org_slf4j_jul_to_slf4j_2_0_7.xml 527B
Maven__org_opentest4j_opentest4j_1_2_0.xml 533B
Maven__org_springframework_spring_beans_6_0_8.xml 567B
Maven__org_assertj_assertj_core_3_23_1.xml 542B
Maven__org_springframework_spring_test_6_0_8.xml 560B
Maven__org_apiguardian_apiguardian_api_1_1_2.xml 572B
Maven__org_objenesis_objenesis_3_2.xml 508B
Maven__org_junit_jupiter_junit_jupiter_api_5_9_2.xml 594B
Maven__org_mockito_mockito_junit_jupiter_4_8_1.xml 598B
Maven__org_springframework_boot_spring_boot_test_autoconfigure_3_0_6.xml 713B
Maven__org_springframework_boot_spring_boot_starter_3_0_6.xml 636B
Maven__org_apache_logging_log4j_log4j_to_slf4j_2_19_0.xml 608B
Maven__org_slf4j_slf4j_api_2_0_7.xml 506B
Maven__net_minidev_accessors_smart_2_4_9.xml 556B
Maven__org_springframework_spring_core_6_0_8.xml 560B
Maven__org_yaml_snakeyaml_1_33.xml 495B
Maven__org_springframework_spring_jcl_6_0_8.xml 553B
Maven__org_junit_jupiter_junit_jupiter_params_5_9_2.xml 615B
Maven__jakarta_xml_bind_jakarta_xml_bind_api_4_0_0.xml 611B
Maven__net_minidev_json_smart_2_4_10.xml 528B
Maven__org_springframework_boot_spring_boot_autoconfigure_3_0_6.xml 678B
Maven__org_springframework_boot_spring_boot_starter_logging_3_0_6.xml 692B
Maven__org_junit_platform_junit_platform_commons_1_9_2.xml 633B
Maven__ch_qos_logback_logback_classic_1_4_7.xml 568B
workspace.xml 4KB
misc.xml 472B
compiler.xml 805B
modules.xml 257B
.gitignore 190B
encodings.xml 191B
target
classes
com
mybank
test
TestBanking.class 7KB
domain
Account.class 734B
Customer.class 2KB
Bank.class 989B
generated-sources
annotations
共 62 条
- 1
资源评论
2201_75695659
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功