import java.io.*;
class ling implements Serializable{ //这里很重要啊,把ling序列化。才能把它装在数组里
private String id ;
private String pw;
private double balance ;
private String name ;
public ling(String id, String name,String pw, double balance){
this.id=id;
this.pw=pw;
this.balance=balance;
this.name=name;
}
public void getmoney(double tom ){
if(balance-tom>=0){
balance =balance-tom;
}else{
System.out.println("余额不足");
}
}
/*public double getyue(){
return balance;
}*/
public void putmoney(double tom){
balance =balance+tom ;
}
public String getID(){
return id;
}
public double getBanlance(){
return balance;
}
public void setPW(String newpw){
pw=newpw;
//System.out.println(pw);
}
public String getPW(){
return pw ;
//System.out.println(pw);
}
}
public class tom{
public static void main(String[]args) throws IOException,ClassNotFoundException{
int nu=0;
int yu ;
int i;
String s1;
String name ;
String pw ;
String id;
ling[] mu= new ling[10];
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
File f=new File("date");
if(f.exists()){
f.createNewFile();
}
try{
ObjectInputStream ob= new ObjectInputStream(new FileInputStream(f));
mu =(ling[])ob.readObject();
for(int j=0;j<=9;j++){
if(mu[nu]!=null){
nu++ ;
} else
break;
}
}catch(Exception e){
}
while(true){
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 消户");
String str = buf.readLine();
i= Integer.parseInt(str);
switch(i){
case 1:
System.out.print("请输入用户名: ");
name =buf.readLine();
System.out.print("请输入密码: ");
pw=buf.readLine();
System.out.print("请输入余存金额: ");
s1=buf.readLine();
yu=Integer.parseInt(s1);
mu[nu] =new ling("400500"+(nu+1),name,pw,yu);
System.out.println ("操作成功");
System.out.println ("您的帐号是:"+mu[nu].getID()) ;
nu++ ;
break;
case 2:
System.out.print ("请输入您的帐号:");
id= buf.readLine();
System.out.print("请输入您的密码:");
pw= buf.readLine();
for(int j=0;j<=9;j++){
if(mu[j]!=null){
if(mu[j].getID().equals(id)&&mu[j].getPW().equals(pw)){
System.out.println ("您的余额为:"+mu[j].getBanlance());
break;
}
}else{
System.out.println("输入有误 ");
break;
}
}
break;
case 3:
System.out.print ("请输入您的帐号:");
id= buf.readLine();
System.out.print("请输入您的密码:");
pw= buf.readLine();
for(int j=0;j<=9;j++){
if(mu[j]!=null){
if(mu[j].getID().equals(id)&&mu[j].getPW().equals(pw)){
System.out.print ("请输入新密码 :");
String npw =buf.readLine();
mu[j].setPW(npw) ;
System.out.println ("操作成功");
break;
}
}else{
System.out.println("用户不存在");
break;
}
}
break;
case 4:
System.out.print ("请输入您的帐号:");
id= buf.readLine();
System.out.print("请输入您的密码:");
pw= buf.readLine();
for(int j=0;j<=9;j++){
if(mu[j]!=null){
if(mu[j].getID().equals(id)&&mu[j].getPW().equals(pw)){
System.out.print("请输入存钱金额 :");
String cunqian =buf.readLine();
double cun=Double.parseDouble(cunqian);
mu[j].putmoney(cun);
System.out.println ("操作成功!");
System.out.println ("你的余额为:"+mu[j].getBanlance());
break;
}
}else{
System.out.println("用户不存在");
break;
}
}
break;
case 5:
System.out.print ("请输入您的帐号:");
id= buf.readLine();
System.out.print("请输入您的密码:");
pw= buf.readLine();
for(int j=0;j<=9;j++){
if(mu[j]!=null){
if(mu[j].getID().equals(id)&&mu[j].getPW().equals(pw)){
System.out.print ("请输入取钱金额:");
String quqian =buf.readLine();
double qu = Double.parseDouble(quqian);
mu[j].getmoney(qu);
System.out.println("操作成功");
System.out.println("您的余额为:"+mu[j].getBanlance());
/*if(mu[j].getBanlance()-qu>0){
System.out.println ("操作成功!");
System.out.println ("你目前的余额为:"+mu[j].getBanlance());
}else {
System.out.println ("余额不足") ;
}*/
break;
}
}else{
System.out.println("用户不存在");
break;
}
}
break;
case 6:
System.out.print ("请输入您的帐号:");
id= buf.readLine();
System.out.print("请输入您的密码:");
pw= buf.readLine();
for(int j=0;j<=9;j++){
if(mu[j]!=null){
if(mu[j].getID().equals(id)&&mu[j].getPW().equals(pw)){
if(j==nu-1){
mu[j]=null;
}else{
for(int k=0;k<nu-1;k++){
mu[k]=mu[k+1];
mu[j]=null;
}
}
System.out.println("操作成功");
System.out.println(mu.length);
break;
}
}else{
System.out.println("用户不存在");
break;
}
}
break;
default :
ObjectOutputStream oo =new ObjectOutputStream(new FileOutputStream(f));
oo.writeObject(mu);
return;
}
}
}
}