用java实现一个ATM机系统(2.0版)
java实现银行ATM自助取款机,实现功能:用户登录、余额查询、存钱、取钱、转账、修改密码、退出系统。
设计思路
设计五个类包括测试类:
1,ATM类也是主要的类,负责实现用户一系列的操作;
2,Data类,作为ATM类的一个属性,主要实现从java文件user中获取用户全部信息,并返回要找的用户,再将修改完之后的用户信息写入文件中。
这个类是ATM机与文件之间的桥梁;
3,Bank类,有ATM机(has-a),欢迎用户来使用ATM机;
4,User类,使用ATM机(use-a);
5,Demo类,测试类,创建一个环境,让类产生关系。
源码
需要注意java文件user的位置,Data类要进行操作它。
package newBank;
import java.util.Scanner;
//ATM类
public class ATM {
//有一个类操作数据的类
private Data data = new Data();
//ATM机里的数据
private String userName;//用户账号且唯一
private String userPassword;//用户密码
private double userMoney;//用户账户里的钱
private double money;//变量,存,取,转账的钱
private String user;//使用该台ATM机的用户全部信息
//ATM界面
public void show(){
System.out.println("欢迎使用ATM机");
//使用登录方法,输入账号和密码
int number = login();
//如果登录成功
if(number == 4)
working();//ATM机办理业务
}
//登录方法
private int login(){
int number = 3;//用户输入次数
while(number > 0) {
Scanner input = new Scanner(System.in);
System.out.println("请输入账号:");
//输入账号
String inUserName = input.nextLine();
//输入密码
System.out.println("请输入密码:");
String inUserPassword = input.nextLine();
String x = data.backUser(inUserName);
//判断账户是否存在
if(!x.equals("null")){
user = x;//获取用户所有信息
String[] str = user.split("\*");//将用户信息分割
userName = str[0];//用户名
userPassword = str[1];//用户密码
userMoney = Double.parseDouble(str[2]);//用户余额
//密码正确
if(userPassword.equals(inUserPassword)){
System.out.println("登录成功");
number = 4;//次数变为4
break;
}
}
number --;//次数减一
System.out.println("账号或密码输入错误。。。");
System.out.println("您还有" + number + "次机会");
}
return number;//是否登录成功
}
//功能界面
private void functionShow(){
System.out.println("**********************");
System.out.println(" 欢迎使用ATM");
System.out