Java实现:ATM机(部分代码)
从键盘读入如下所示的字符串,这些字符串表示储户的基本信息,如:
1:Jack:pwd1:3000.0|2:Jones:pwd2:2680.0|3:Mark:pwd3:5980.0
其中,不同储户的信息用“|”进行分割,同一储户的不同信息用“:”分割。
1:Jack:pwd1:3000.0 分别表示账号、用户名、密码、账户余额。
将该字符串解析后把用户名和密码存储在users数组中,账户余额存储在balance。
为了简化系统,使用数组的下标来表示账户(要加一)
难点就是解析字符串!
这里先放上一个方法,以后改进。
static int MAX=256;
static String[][] users=new String[MAX][MAX];
static double[] balance=new double[MAX];
static int currentAccount=-1;
private static void init() {
System.out.println("ATM机正在初始化......");
//Scanner s= new Scanner(System.in);
//System.out.println("请输入账户数量:");
//int n=s.nextInt();
//String intial=s.next().trim();
String intial="1:Jack:pwd1:3000.0|2:Jones:pwd2:2680.0|3:Mark:pwd3:5980.0";
int i;
for(i=0;i<3;i++) { //i<n
users[i][0]=intial.split("\\|")[i].split(":")[0];
users[i][1]=intial.split("\\|")[i].split(":")[1];
users[i][2]=intial.split("\\|")[i].split(":")[2];
users[i][3]=intial.split("\\|")[i].split(":")[3];
double value = Double.parseDouble(users[i][3]);
balance[i]=value;
}
System.out.println("ATM机初始化完成");
//s.close();