java 银行管理系统(单账户简单版)

//导入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(){
		
	}
}
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值