java基础练习——ATM银行管理系统

1.需求说明

 

2.建立属性类

package ATM;

/*
 * 定义账号和密码
 */
public class ATMbean {
	//定义用户名和密码
	private String username = "张三";
	private String password = "123";
	//定义初始账余额
	private double money = 5000;
	
	
	public ATMbean() {
		super();
	}
	public ATMbean(String usename, String password, double money) {
		super();
		this.username = usename;
		this.password = password;
		this.money = money;
	}
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public double getMoney() {
		return money;
	}
	public void setMoney(double money) {
		this.money = money;
	}
	@Override
	public String toString() {
		return "ATMbean [username=" + username + ", password=" + password + ", money=" + money + "]";
	}
	
	
}

3.实现类

package ATM;

import java.util.Scanner;

public class ATMtest {
	//实例化ATMbean
			ATMbean atm = new ATMbean();
			
			Scanner s = new Scanner(System.in);
			//定义一个计数器记录修改密码的次数,修改密码不得超过三次
			int i = 1;
	public void Select() {
		
		
		//用户输入用户名和密码去和已经定义的用户名密码做比较,相同则进入系统,不相同则报错
		System.out.println("==========欢迎进入ATM银行管理系统==========");
		System.out.println("请输入用户名:");
		String name = s.next();
		System.out.println("请输入密码:");
		String password = s.next();
		//将用户输入的用户名和密码与系统中的用户名密码相比是否相同,相同则进入系统
		if(name.equals(atm.getUsername()) && password.equals(atm.getPassword())) {
			System.out.println("登录成功!");
			
			//在此处可以进行循环
			while(true) {
				System.out.println("请选择需要选择的项目:1.取钱    2.存钱    3.查询余额    4.转账    5.修改密码    6.重新登录  7.退出登录");
				switch(s.nextInt()) {
					case 1:
						//调用取钱的方法
						getMoney();
						break;
					case 2:
						//调用存钱的方法
						saveMoney();
						break;
					case 3:
						//调用查询余额的方法
						selectMoney();
						break;
					case 4:
						//调用转账的方法
						zhuanzhangMoney();
						break;
					case 5:
						//调用修改密码的方法
						updateMoney();
						break;
					case 6:
						//调用重新登录的方法,也就是调用自己
						Select();
						break;
					case 7:
						System.out.println("欢迎下次登录该系统!");
						System.exit(0);
						break;
					default:
						System.out.println("你输入有误!请重新输入!");
						break;
				}
			}
			//不相同。则报错
		}else {
			System.out.println("用户名或密码错误!请重新输入!");
			Select();
		}
	}
	

	//定义取钱的方法
	public void getMoney() {
		//输入取钱的金额,判断余额是否够
		System.out.println("请输入取钱金额(元):");
		double money = s.nextDouble();
		if(money<=atm.getMoney()) {
			//如果够了,则取钱,后计算余额并赋值
			money = atm.getMoney() - money;
			atm.setMoney(money);
			System.out.println( "     取款成功!");
			System.out.println("  请取回您的现金!");
		}else {
			System.out.println("余额不足!");
		}
	}
	
	
	//定义存钱的方法
	public void saveMoney() {
		System.out.println("请输入存钱金额:");
		double money = s.nextDouble();
		money = money + atm.getMoney();
		atm.setMoney(money);
		System.out.println("存钱成功");
	}
	
	
	//定义查询余额的方法
	public void selectMoney() {
		System.out.println("您的余额为:"+atm.getMoney()+"元");
	}
	
	
	//定义转账的方法
	public void zhuanzhangMoney() {
		System.out.println("请输入转账人账号:");
		String name = s.next();
		System.out.println("请输入转账金额:");
		double money = s.nextDouble();
		//判断转账的金额与你的余额的大小
		if(money<=atm.getMoney()) {
			money = atm.getMoney()-money;
			atm.setMoney(money);
			System.out.println("转账成功!");
		}else {
			System.out.println("你确定你有那么多的钱吗!");
		}
	}
	
	
	//定义修改密码的方法
	public void updateMoney() {
		
			System.out.println("请输入原密码:");
			String password = s.next();
			//判断原密码是否是你输入的密码
			if(password.equals(atm.getPassword())) {
				System.out.println("请输入新密码:");
				String newpassword = s.next();
				System.out.println("请再次输入新密码:");
				String newpassword01 = s.next();
				//判断二次输入的密码是否相同
				if(newpassword.equals(newpassword01)) {
					System.out.println("修改成功!即将重新登录!");
					atm.setPassword(newpassword01);
					Select();
					
				}else {
					System.out.println("您输入的密码与之间的密码不相同!");
					updateMoney();
				}
			}
			//如果输入的密码不是原密码,则重新输入
			else {
				if(i>=3) {
					System.out.println("您三次输入密码都是错的!");
					System.out.println("您输入错误密码的次数超限!即将退出系统!");
					System.exit(0);
				}
				System.out.println("您输入的密码与原密码不相同!请重新输入!");
				i++;
				updateMoney();
				
			}
	}	
}

4.主方法   main

package ATM;

public class ATMmain {
	public static void main(String[] args) {
		ATMtest atm = new ATMtest();
		atm.Select();
	}
}

5.控制台输出结果(在此不做错误的输出,但是程序可以实现各种错误

==========欢迎进入ATM银行管理系统==========
请输入用户名:
张三
请输入密码:
123
登录成功!
请选择需要选择的项目:1.取钱    2.存钱    3.查询余额    4.转账    5.修改密码    6.重新登录  7.退出登录
1
请输入取钱金额(元):
4212
     取款成功!
  请取回您的现金!
请选择需要选择的项目:1.取钱    2.存钱    3.查询余额    4.转账    5.修改密码    6.重新登录  7.退出登录
2
请输入存钱金额:
3124
存钱成功
请选择需要选择的项目:1.取钱    2.存钱    3.查询余额    4.转账    5.修改密码    6.重新登录  7.退出登录
3
您的余额为:3912.0元
请选择需要选择的项目:1.取钱    2.存钱    3.查询余额    4.转账    5.修改密码    6.重新登录  7.退出登录
4
请输入转账人账号:
123
请输入转账金额:
5
转账成功!
请选择需要选择的项目:1.取钱    2.存钱    3.查询余额    4.转账    5.修改密码    6.重新登录  7.退出登录
5
请输入原密码:
123
请输入新密码:
234
请再次输入新密码:
234
修改成功!即将重新登录!
==========欢迎进入ATM银行管理系统==========
请输入用户名:
张三
请输入密码:
234
登录成功!
请选择需要选择的项目:1.取钱    2.存钱    3.查询余额    4.转账    5.修改密码    6.重新登录  7.退出登录
6
==========欢迎进入ATM银行管理系统==========
请输入用户名:
张三
请输入密码:
234
登录成功!
请选择需要选择的项目:1.取钱    2.存钱    3.查询余额    4.转账    5.修改密码    6.重新登录  7.退出登录
7
欢迎下次登录该系统!

猜你喜欢

转载自blog.csdn.net/mataodehtml/article/details/83268540