Java实现ATM功能实例

首先ATM有查询,取款,存款和退卡等功能。我们插卡的时候也必须输入密码才可以成功。

所以我设计三个类,一个是ATM平台类,用来实现ATM界面功能;二是客户类,用来储存客户的存款;三是数据类,

用来存储登录用户的数据

客户类代码如下:

public class Client{
	private double balance=0;
	private String upass;

	public double getBalance()
	{
		return balance;
	}
	public void setBalance(double balance)
	{
		this.balance = balance;
	}
	public String getUpass()
	{
		return upass;
	}
	public void setUpass(String upass)
	{
		this.upass = upass;
	}
	
}

数据类代码如下:

public class Data{
	private static Client[] clients=new Client[3];
	static {
		clients[0]=new Client();
		clients[1]=new Client();
		clients[2]=new Client();
//		clients[0].setUname("大聪明");
		clients[0].setUpass("123");
	}
	public static Client[] getClients()
	{
		return clients;
	}
	public static void setClients(Client[] clients)
	{
		Data.clients = clients;
	}
	
}

实现ATM功能类:

import java.util.Scanner;
public class ATM{
	public static void main(String[] args) {
		printInfo();
	}

	public static void printInfo() {
		System.out.println("请输入密码:");
		Scanner input=new Scanner(System.in);
		String upass=input.next();
		checkpass(upass);
	}

	private static Client currClient;//用来储存登录成功的那个客户

	public static void checkpass(String upass) {
		for(int i=0;i<Data.getClients().length;i++) {
			Client client=Data.getClients()[i];
			currClient=client;
			if(upass.equals(client.getUpass())) {
				System.out.println("登录成功,请选择您的服务:");
				System.out.println();
				ATMview();
				return;
			}
		}
		System.out.println("密码错误,请重新输入");
		printInfo();
	}
	
	public static void ATMview() {
		System.out.println("--------大聪明银行--------");
		System.out.println("1.查询  2.取款  3.存款  4.退卡");
		Scanner input = new Scanner(System.in);
		int no = input.nextInt();
		switch(no) {
			case 1:
				inquire();
				break;
			case 2:
				withdrawal();
				break;
			case 3:
				deposit();
				break;
			case 4:
				printInfo();
				break;
		 
		 }
	}
	
	public static void inquire() {
		System.out.println("您的当前余额为:"+currClient.getBalance()+"元");
		ATMview();
	}

	public static void withdrawal(){
		System.out.println("请输入你的取款额:");
		Scanner input=new Scanner(System.in);
		int num=input.nextInt();
		if(num>currClient.getBalance()) {
			System.out.println("余额不足");
			withdrawal();
		}
		System.out.println("取款成功");
		currClient.setBalance(currClient.getBalance()-num);
		ATMview();
	}
	
	public static void deposit(){
		System.out.println("请存款:");
		Scanner input=new Scanner(System.in);
		int money=input.nextInt();
		currClient.setBalance(currClient.getBalance()+money);
		System.out.println("存款成功");
		ATMview();
	}
}	
	

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值