//导入java.util.Scanner类,用于获取用户输入
import java.util.Scanner;
/**
* 定义ATM类
*/
public class ATM{
//定义一个字符串String,属性名为code,存储卡号,初始值为1001
public String code = "1001";
//定义一个整形int,属性名为password,存储密码,初始值为111
public int password = 111;
//定义一个浮点型double,属性名为money,存储余额,初始值为1000.00
public double money = 1000.00;
/**
*定义入口方法
*/
public static void main(String [] args){
//创建一个ATM类的对象,对象名为atm
ATM atm = new ATM();
//通过对象名atm先后调用welcome和login方法,
//显示欢迎界面后进行登录
atm.welcome();
atm.login();
}
/**
*定义显示欢迎界面方法
*/
public void welcome(){
//通过System.out.println方法输出欢迎界面对应字符串
System.out.println("****************************");
System.out.println("**** 欢迎使用坤坤银行 ****");
System.out.println("****************************");
}
/**
*定义登录方法
*/
public void login(){
//系统提示输入卡号
System.out.print("请输入卡号:");
//获取用户输入卡号
Scanner sc = new Scanner(System.in);
String code_in = sc.nextLine(); //这是个啥意思?
//判断卡号是否与当前账户卡号一致(此版本暂为单账户版本)
if(code_in.equals(code)){
//--卡号一致--
//通过循环语句,提供3次密码输入机会
for(int i=0;i<3;i++){
//系统提示输入密码
System.out.print("请输入密码:");
//获取用户输入密码
int password_in = sc.nextInt();
//判断密码是否正确
if(password_in==password){
//密码正确
//显示主菜单(调用loadSys方法并跳出循环)
loadSys();
break;
}else{
//--密码不正确-
//判断是否超过3次机会
if(i!=2){
//--不超过3次--
//提示密码错误,重新输入密码(到下一次循环)
System.out.println("密码错误,请重新输入!");
}else{
//--超过三次--
//提示超过3次机会,系统吞卡并退回
System.out.println("密码输入已经超过了3次机会,"+"系统吞卡,请联系客服!");
quit();
}
}
}
}else{
//--卡号不一致--
//提示卡号不存在,并让用户重新操作(重新调用login方法)
System.out.println("卡号不存在!");
login();
}
}
/**
*定义显示主菜单方法
*/
public void loadSys(){
//输出菜单项
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.println("-------------------------------");
//系统提示输入菜单选项
System.out.print("请输入对应数字选项: ");
//获取用户输入菜单选项
Scanner sc = new Scanner(System.in);
int xx = sc.nextInt();
//通过分支语句,根据选项进入不同的业务方法
switch(xx){
case 1:
//调用查询余额的方法
chaxun();
break;
case 2:
//调用存款方法
cunkuan();
break;
case 3:
//调用取款方法
qukuan();
break;
case 4:
//调用修改密码方法
xiugai();
break;
case 5:
//调用退出方法
quit();
break;
default:
//输入非法选项,提示有误并重新操作
System.out.println("输入有误");
loadSys();
break;
}
}
/**
*定义查询余额方法
*/
public void chaxun(){
System.out.println("您的账户余额为: " +money);
loadSys();
System.out.println("-------------------------------");
}
/**
*定义存款方法
*/
public void cunkuan(){
System.out.println("请输入存款金额:");
Scanner sc = new Scanner(System.in);
double ck_money = Double.valueOf(sc.nextLine());
if((ck_money%100)==0){
money+=ck_money;
System.out.println("存款成功!");
}else{
System.out.println("存款失败! 存款金额不为整百!");
cunkuan();
}
loadSys();
}
/**
*定义取款方法
*/
public void qukuan(){
System.out.println("请输入取款金额:");
Scanner sc = new Scanner(System.in);
double qk_money = Double.valueOf(sc.nextLine());
if( (qk_money>money) || (qk_money%100)!=0){
System.out.println("取款失败! 取款金额不足整百或余额不足!");
qukuan();
}else{
money-=qk_money;
System.out.println("取款成功!");
loadSys();
}
}
/**
*定义修改密码方法
*/
public void xiugai(){
System.out.print("请输入旧密码:");
Scanner sc = new Scanner(System.in);
int xg_password = Integer.parseInt(sc.nextLine());
if(xg_password==password){
System.out.print("请输入新密码:");
Scanner sc1 = new Scanner(System.in);
int xxg_password = Integer.parseInt(sc.nextLine());
System.out.print("请确认新密码:");
Scanner sc2 = new Scanner(System.in);
int xxg_password1 = Integer.parseInt(sc.nextLine());
if(xxg_password==xxg_password1){
password=xxg_password;
System.out.print("密码修改成功!");
loadSys();
}else{
System.out.print("密码修改失败!两次密码不一致");
xiugai();
}
}else{
System.out.print("密码修改失败!原密码输入错误");
xiugai();
}
}
/**
*定义退出方法
*/
public void quit(){
}
}
java 银行管理系统(单账户简单版)
最新推荐文章于 2022-10-12 15:45:06 发布