Advertisement

金融IT——模拟银行ATM系统Java实现

阅读量:

Java语言模拟银行ATM系统

一、整体模块

**
**

二、ATM的功能

1、开户功能
2、存款功能
3、取款功能
4、查询功能
5、修改密码功能
6、退出系统功能

三、功能描述

1、取款功能:用户按照系统要求输入取款金额,若取款金额小于账户余额,则可以进行取款,否则不能取款;
2、存款功能:用户按照系统要求输入存款金额,返回存款之后的金额;
3、查询功能:系统直接返回账号的当前信息;
4、修改密码功能:修改密码时需要输入两次密码,若两次输入密码不一致时,修改密码失败,若一致,则可以修改密码。

四、代码实现

**
**

复制代码
 import java.util.*;

    
 class Account
    
 {
    
 	private String cid;
    
 	private String password;
    
 	private String name;
    
 	private int balance;
    
  
    
 	public String getCid()
    
 	{
    
 		return cid;
    
 	}
    
 	public void setCid(String cid)
    
 	{
    
 		this.cid=cid;
    
 	}
    
 	public String getPassword()
    
 	{
    
 		return password;
    
 	}
    
 	public void setPassword(String password)
    
 	{
    
 		this.password=password;
    
 	}
    
 	public String getName()
    
 	{
    
 		return name;
    
 	}
    
 	public void setName(String name)
    
 	{
    
 		this.name=name;
    
 	}
    
 	public int getBalance()
    
 	{
    
 		return balance;
    
 	}
    
 	public void setBalance(int balance)
    
 	{
    
 		this.balance=balance;
    
 	}
    
 	public Account()
    
     {
    
 		this.cid="C00000";
    
 		this.name="无名氏";
    
 		this.password="123456";
    
 		this.balance=0;
    
 	}
    
 	
    
 	//开户
    
 	public Account(String cid,String name,String password)
    
 	{
    
 		this.cid=cid;
    
 		this.name=name;
    
 		this.password=password;
    
 		this.balance=0;
    
 	}
    
 	//存款
    
 	public void deposite(int number)
    
 	{
    
 		this.balance+=number;
    
 	}
    
 	//取款
    
 	public void draw(int number)
    
 	{
    
 		this.balance-=number;
    
 	}
    
 	//查询余额
    
 	public int query()
    
 	{
    
 		return balance;
    
 	}
    
 } 
    
  
    
 class  ATM
    
 {
    
 	//开户
    
 	public static Account initAccount(Account account)
    
 	{
    
 		Scanner scanner=new Scanner(System.in);
    
 		String cid;
    
 		String name;
    
 		String password;
    
 		System.out.println("请输入账号:");
    
 		cid=scanner.next();
    
 		System.out.println("请输入户主姓名:");
    
 		name=scanner.next();
    
 		System.out.println("请输入密码:");
    
 		password=scanner.next();
    
 		account=new Account(cid,name,password);
    
 		System.out.println("开户成功!");
    
 		return account;
    
 	}
    
 	//存款
    
 	public static Account deposite(Account account)
    
 	{
    
 		int num;
    
 		Scanner scanner=new Scanner(System.in);
    
 		System.out.println("请输入金额:");
    
 		num=scanner.nextInt();
    
 		account.deposite(num);
    
 		System.out.println("存款成功!");
    
 		return account;
    
 	}
    
 	//取款
    
 	public static Account draw(Account account)
    
 	{
    
 		int num;
    
 		Scanner scanner=new Scanner(System.in);
    
  
    
 		System.out.println("请输入取款密码:");
    
 		String pass=scanner.next();
    
 		
    
 		if(!pass.equals(account.getPassword()))
    
 		{
    
 			System.out.println("取款密码输入错误!");
    
 			return account;
    
 		}
    
  
    
 		System.out.println("请输入金额:");
    
 		num=scanner.nextInt();
    
 		
    
 		if(num>account.getBalance())
    
 		{
    
 			System.out.println("余额不足!");
    
 			return account;
    
 		}
    
 		account.draw(num);
    
 		System.out.println("取款成功!");
    
 		return account;
    
 	}
    
 	//修改密码
    
 	public static Account changePassword(Account account)
    
 	{
    
 		String newPassword;
    
 		String newPassword2;
    
 		Scanner scanner=new Scanner(System.in);
    
 		System.out.println("请输入密码:");
    
 		newPassword=scanner.next();
    
 		System.out.println("请重新输入密码:");
    
 		newPassword2=scanner.next();
    
 		if(!newPassword.equals(newPassword2))
    
 		{
    
 			System.out.println("两次输入密码不一致!");
    
 			return account;
    
 		}
    
 		account.setPassword(newPassword);
    
 		System.out.println("密码修改成功!");
    
 		return account;
    
 	}
    
 	//查看信息
    
 	public static void showInfo(Account account)
    
 	{
    
 		System.out.println("您的账户信息是:");
    
 		System.out.println("账号编号:"+account.getCid());
    
 		System.out.println("户主:"+account.getName());
    
 		System.out.println("余额:"+account.getBalance()+"$");
    
 	}
    
 	//显示主菜单
    
 	public static void menu()
    
 	{
    
 		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("6.退出系统");
    
 		System.out.println("请选择操作(1-6)");
    
 		System.out.println("*****************************");
    
 	}
    
 	public static void main(String[] args) 
    
 	{
    
 		Account account=new Account();
    
 		Scanner scanner=new Scanner(System.in);
    
 		int choice;
    
 		ATM.menu();
    
 		choice=scanner.nextInt();
    
 		while(choice!=6)
    
 		{
    
 			switch(choice)
    
 			{
    
 				case 1:
    
 					account=ATM.initAccount(account);
    
 					break;
    
 				case 2:
    
 					account=ATM.deposite(account);
    
 					break;
    
 				case 3:
    
 					account=ATM.draw(account);
    
 					break;
    
 				case 4:
    
 					ATM.showInfo(account);
    
 					break;
    
 				case 5:
    
 					account=ATM.changePassword(account);
    
 					break;
    
 			}
    
 			ATM.menu();
    
 			choice=scanner.nextInt();
    
 		}
    
 		System.out.println("悄悄地走!");
    
 	}
    
 }

全部评论 (0)

还没有任何评论哟~