java的atm模拟程序_java ATM模拟程序

//基本功能已经完善,文件读取没有问题,文件重写尚未完成。

Account类

public class Account {

//初始化参数

private String accountID;

private String accountname;

private String operatedate;

private int operatetype;

private String accountpassword;

private int accountbalance=0;

private int amount;

//构造读取和设置变量信息的方法

public void setAccountID(String accountID) {this.accountID=accountID;}

public String getAccountID() {return accountID;}

public void setAccountname(String accountname) {this.accountname=accountname;}

public String getAccountname() {return accountname;}

public void setOperatedate(String operatedate) {this.operatedate=operatedate;}

public String getOperatedate() {return operatedate;}

public void setOperatetype(int operatetype){this.operatetype=operatetype;}

public int getOperatetype() {return operatetype;}

public void setAccountpassword(String accountpassword) {this.accountpassword=accountpassword;}

public String getAccountpassword() {return accountpassword;}

public void setAccountbalance(int accountbalance) {this.accountbalance=accountbalance;}

public int getAccountbalance() {return accountbalance;}

public void setAmount(int amount) {this.amount=amount;}

public int getAmount() {return amount;}

//构造方法有参数

public Account(String accountID,String accountname,String operatedate,int operatetype,String accountpassword,int accountbalance,int amount) {

this.accountID=accountID;

this.accountname=accountname;

this.operatedate=operatedate;

this.operatetype=operatetype;

this.accountpassword=accountpassword;

this.accountbalance=accountbalance;

this.amount=amount;

}

//构造方法无参数

public Account() {}

//参数统一类型

public String toString() {

return (accountID+" "+accountname+" "+operatedate+" "+operatetype+" "+accountpassword+" "+accountbalance+" "+amount);

}

}

AccountManager类

//20173685 任伟强 信1705-2

import java.io.FileNotFoundException;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

import java.util.Scanner;

public class AccountManager extends Account{

//继承父类

public AccountManager(String accountID,String accountname,String operatedate,int operatetype,String accountpassword,int accountbalance,int amount) {

super(accountID,accountname,operatedate,operatetype,accountpassword,accountbalance,amount);

}

public AccountManager() {

}

//全局定义

static Account a=new Account();

static Scanner s=new Scanner(System.in);

//选择

public static void main(String[]args) {

try {

fileout();

waterout();

} catch (FileNotFoundException e1) {

e1.printStackTrace();

}

try {

if(loginAccount()&&loginPwd()) {

Menu();

String option;

do {

option=s.next();

switch(option) {

case"1": handmoney();break;

case"2":getmoney();break;

case"3":moneygogogo();break;

case"4":update();break;

case"5":moneyhere();break;

case "q": ;break;

default:System.out.println("错误,请重新输入!\n");

}}while(!"q".equals(option));

System.out.println("成功退出系统!\n");}

} catch (IOException e) {

e.printStackTrace();

}

}

//读取账户基本信息库

public static void fileout() throws FileNotFoundException {

try {

FileReader fr=new FileReader("D:\\eclipse\\eclipse\\Account\\src\\accountinformation.txt");

Scanner sc=new Scanner(fr);

while(sc.hasNext()) {

a.setAccountID(sc.next());

a.setAccountname(sc.next());

a.setAccountpassword(sc.next());

a.setAccountbalance(sc.nextInt());

}

sc.close();

fr.close();

} catch (IOException e) {

System.out.println("文件导出成功\n");

}

}

//读取账户流水信息库

public static void waterout() throws FileNotFoundException {

try {

FileReader fr=new FileReader("D:\\eclipse\\eclipse\\Account\\src\\accountlist.txt");

Scanner sc=new Scanner(fr);

while(sc.hasNext()) {

a.setAccountID(sc.next());

a.setAccountname(sc.next());

a.setOperatedate(sc.next());

a.setOperatetype(sc.nextInt());

a.setAmount(sc.nextInt());

}

sc.close();

fr.close();

} catch (IOException e) {

System.out.println("文件导出成功\n");

}

}

//导入账户基本信息库

public static void filein() throws IOException {

int i;

FileReader fr=new FileReader("D:\\eclipse\\eclipse\\Account\\src\\accountinformation.txt");

FileWriter fw=new FileWriter("D:\\eclipse\\eclipse\\Account\\src\\accountinformation.txt");

i=fr.read();

while(i!=-1) {

fw.write(i);

fr.read();

}

fr.close();

fw.close();

}

//导入账户基本信息库

public static void waterin() throws IOException {

int i;

FileReader fr=new FileReader("D:\\eclipse\\eclipse\\Account\\src\\accountlist.txt");

FileWriter fw=new FileWriter("D:\\eclipse\\eclipse\\Account\\src\\accountlist.txt");

i=fr.read();

while(i!=-1) {

fw.write(i);

fr.read();

}

fr.close();

fw.close();

}

//打印菜单

public static void Menu(){

StringBuffer s=new StringBuffer("\n");

s.append("\t*************************************************\n");

s.append("\t 欢迎全世界最有钱的人使用中国工商银行自助柜员系统\n");

s.append("\t*************************************************\n");

s.append("\t\t\t1.存款;\n");

s.append("\t\t\t2.取款;\n");

s.append("\t\t\t3.转账汇款;\n");

s.append("\t\t\t4.修改密码;\n");

s.append("\t\t\t5.查询余额;\n");

s.append("\t*************************************************\n");

s.append("\t(输入q退出系统)\n");

s.append("请操作\n");

System.out.println(s);

}

//打印登陆账号界面

public static boolean loginAccount() throws IOException {

System.out.println("\t*************************************************\n");

System.out.println("\t 欢迎全世界最有钱的人使用中国工商银行自助柜员系统\n");

System.out.println("\t*************************************************\n");

System.out.println("\t\t请输入您的账号:\n");

String checkAccount = s.next();

if (a.getAccountID().equals (checkAccount)){

System.out.println("输入账号成功,系统跳转到输入密码界面\n");

return true ;

}else {

System.out.println("该账号不存在\n");

return false ;

}

}

//打印登陆密码界面

public static boolean loginPwd() throws IOException {

System.out.println("\t*************************************************\n");

System.out.println("\t 欢迎全世界最有钱的人使用中国工商银行自助柜员系统\n");

System.out.println("\t*************************************************\n");

for (int i = 3 ;i>0;i--){

System.out.println("\t\t请输入您的密码:\n");

String checkPwd = s.next();

if (a.getAccountpassword().equals (checkPwd)){

System.out.println("输入密码成功,系统跳转到主界面!\n");

return true ;

}else {

if ( i ==1 ){

System.out.println("该账号三次录入密码错误,该卡已被系统没收,请与工行及时联系处理\n");

return false ;

}

System.out.println("密码录入错误!今日剩余次数:"+ (i-1));

}

}

return false;

}

//存款

private static void handmoney() {

System.out.println("\t*************************************************\n");

System.out.println("\t 欢迎全世界最有钱的人使用中国工商银行自助柜员系统\n");

System.out.println("\t*************************************************\n");

System.out.println("\t\t请输入存款金额:\n");

int number=s.nextInt();

a.setAccountbalance(a.getAccountbalance() + number);

System.out.println("\t*************************************************\n");

System.out.println("\t 欢迎全世界最有钱的人使用中国工商银行自助柜员系统\n");

System.out.println("\t*************************************************\n");

System.out.println("\t\t当前账户存款操作成功\n");

System.out.println("\t\t当前账户余额为"+a.getAccountbalance()+"元\n");

System.out.println("\t*************************************************\n");

Menu();

System.out.println("\t\t请继续操作\n");

}

//取款

public static void getmoney() {

a.setAccountbalance(a.getAccountbalance());

System.out.println("\t*************************************************\n");

System.out.println("\t 欢迎全世界最有钱的人使用中国工商银行自助柜员系统\n");

System.out.println("\t*************************************************\n");

System.out.println("\t\t当前账户每日可以支取2万元\n");

System.out.println("\t\t1.100元\n");

System.out.println("\t\t2.500元\n");

System.out.println("\t\t3.1000元\n");

System.out.println("\t\t4.1500元\n");

System.out.println("\t\t5.2000元\n");

System.out.println("\t\t6.5000元\n");

System.out.println("\t\t7.其他金额\n");

System.out.println("\t\t8.退卡\n");

System.out.println("\t\t9.返回\n");

System.out.println("\t*************************************************\n");

int num1=100,num2=500,num3=1000,num4=1500,num5=2000,num6=5000;

int str=s.nextInt();

if (a.getAccountbalance()

System.out.println("账户余额不足!!\n");

str=0;

}else if(str==1){

a.setAccountbalance(a.getAccountbalance() - num1);

}else if(str==2){

a.setAccountbalance(a.getAccountbalance() - num2);

}else if(str==3){

a.setAccountbalance(a.getAccountbalance() - num3);

}else if(str==4){

a.setAccountbalance(a.getAccountbalance() - num4);

}else if(str==5){

a.setAccountbalance(a.getAccountbalance() - num5);

}else if(str==6){

a.setAccountbalance(a.getAccountbalance() - num6);

}else if(str==7){

str=s.nextInt();

a.setAccountbalance(a.getAccountbalance() - str);

}else if(str==8){

System.out.println("退卡成功\n");

}else if(str==9){

System.out.println("返回成功\n");

}

System.out.println("\t*************************************************\n");

System.out.println("\t 欢迎全世界最有钱的人使用中国工商银行自助柜员系统\n");

System.out.println("\t*************************************************\n");

System.out.println("\t\t当前账户存款操作成功\n");

System.out.println("\t\t当前账户余额为"+a.getAccountbalance()+"元\n");

System.out.println("\t*************************************************\n");

Menu();

}

//转账汇款

public static void moneygogogo() {

a.setAccountbalance(a.getAccountbalance());

System.out.println("\t*************************************************\n");

System.out.println("\t 欢迎全世界最有钱的人使用中国工商银行自助柜员系统\n");

System.out.println("\t*************************************************\n");

System.out.println("\t\t请输入转账账户\n");

String str=s.next();

if(a.getAccountID().equals(str)) {

System.out.println("\t*************************************************\n");

System.out.println("\t 欢迎全世界最有钱的人使用中国工商银行自助柜员系统\n");

System.out.println("\t*************************************************\n");

System.out.println("\t\t请输入转账金额\n");

int num=s.nextInt();

if(a.getAccountbalance()<=num){

System.out.println("账户余额不足\n");

}else {

a.setAccountbalance(a.getAccountbalance() - num);

System.out.println("\t*************************************************\n");

System.out.println("\t 欢迎全世界最有钱的人使用中国工商银行自助柜员系统\n");

System.out.println("\t*************************************************\n");

System.out.println("\t\t当前账户向"+a.getAccountID()+"成功转账"+str+"元");

System.out.println("\t\t当前账户余额为"+a.getAccountbalance()+"元\n");

System.out.println("\t*************************************************\n");

}

}

Menu();

}

//修改密码

public static void update() throws IOException {

fileout();

System.out.println("\t*************************************************\n");

System.out.println("\t 欢迎全世界最有钱的人使用中国工商银行自助柜员系统\n");

System.out.println("\t*************************************************\n");

System.out.println("\t\t请输入当前密码:\n");

String str=s.next();

if(!a.getAccountpassword().equals(str)) {

System.out.println("当前密码录入错误");

}else {

System.out.println("\t\t请输入修改密码:\n");

String str1=s.next();

System.out.println("\t\t请输入确认密码:\n");

String str2=s.next();

if(!str1.equals(str2)) {

System.out.println("修改密码与确认密码不一致\n");

}else {

System.out.println("\t*************************************************\n");

System.out.println("\t 欢迎全世界最有钱的人使用中国工商银行自助柜员系统\n");

System.out.println("\t*************************************************\n");

System.out.println("\t\t当前账户密码修改成功");

System.out.println("\t*************************************************\n");

}

}

Menu();

}

//查询余额

public static void moneyhere() {

System.out.println("\t*************************************************\n");

System.out.println("\t 欢迎全世界最有钱的人使用中国工商银行自助柜员系统\n");

System.out.println("\t*************************************************\n");

System.out.print("\t\t当前账户余额为"+a.getAccountbalance()+"元\n");

System.out.print("\t\t账户清单信息为:\n");

System.out.print("\t\t操作日期"+a.getOperatedate()+" 操作类型"+a.getOperatetype()+"操作金额"+a.getAmount()+"\n");

System.out.println("\t*************************************************\n");

Menu();

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值