您的位置:首页 > 编程语言 > Java开发

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

2018-01-18 16:03 781 查看
[align=center]Java语言模拟银行ATM系统[/align][align=center]
[/align][align=left]一、整体模块[/align][align=left][/align]

[align=left]
[/align][align=left]二、ATM的功能[/align][align=left]1、开户功能
2、存款功能
3、取款功能
4、查询功能
5、修改密码功能
6、退出系统功能[/align][align=left]
[/align][align=left]三、功能描述[/align][align=left]1、取款功能:用户按照系统要求输入取款金额,若取款金额小于账户余额,则可以进行取款,否则不能取款;
2、存款功能:用户按照系统要求输入存款金额,返回存款之后的金额;
3、查询功能:系统直接返回账号的当前信息;
4、修改密码功能:修改密码时需要输入两次密码,若两次输入密码不一致时,修改密码失败,若一致,则可以修改密码。[/align][align=left]
[/align][align=left]四、代码实现[/align][align=left][/align]
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 Scan
4000
ner(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("悄悄地走!");
}
}

[align=left]
[/align][align=left]
[/align][align=left]
[/align][align=left]
[/align]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: