初学java所写的ATM程序,望各位指教指教。。。。

来源:互联网 发布:上海美知教育怎么样 编辑:程序博客网 时间:2024/05/16 07:11

import java.util.*;
public class ATM
{
 public static void main ( String[] args )
 {
  Function a=new Function();
  a.zhu();
 }
}

public class En
{
 private String a[]=new String[4] ;
 public En()
 {

 }
 public En ( String kh,String mm,String name, String qian )
 {

  this.a[0]=kh;
  this.a[1]=mm;
  this.a[2]=name;
  this.a[3]=qian;
 }
 public void setKh ( String kh )
 {
  this.a[0]=kh;
 }
 public String getKh()
 {
  return a[0];
 }
 public void setMima ( String mima )
 {
  a[1]=mima;
 }
 public String getMima()
 {
  return this.a[1];
 }

 public void setName ( String name )
 {
  a[2]=name;
 }
 public String getName()
 {
  return this.a[2];
 }
 public void setQian ( String qian )
 {
  a[3]=qian;
 }
 public String getQian()
 {
  return this.a[3];
 }
}

import java.util.*;
import java.text.*;
import java.io.*;
import java.lang.*;
public class Function
{  
 En f1=new En();

 String x;
 double money1;
 //方法外,类之中可以先声明紧接着赋值,但是不能单独赋值。
 public void churu()
 {
 try{File w=new File("C:/Users/binghaoge/Desktop/ATM/ATM5 陈冰浩/shuju.txt");
   FileInputStream j=new FileInputStream(w);
   byte y[]=new byte[(int)w.length()];
   j.read(y);
   x=new String(y);

   j.close();
   }
   catch(Exception q){}
   
  }
 public void nihao ()
 {

  Scanner in= new Scanner ( System.in );
  System.out.println ( "请选择你的服务种类:余额查询请按'1'  存款请按'2'  修改密码请按'3'  转账请按'4'  取款请按'5'  退出请按'6'" );
  for ( int k=0; k<1; k++ )
  {
   String fw=in.next();
   if ( fw.equals ( "1" ) )
   {
    one();
    nihao();
    break;
   }
   else if ( fw.equals ( "2" ) )
   {
    two();
    nihao();
    break;
   }
   else if ( fw.equals ( "3" ) )
   {
    three();
    nihao();
    break;
   }
   else if ( fw.equals ( "4" ) )
   {
    four();
    nihao();
    break;
   }
   else if ( fw.equals ( "5" ) )
   {
    quk();
    nihao();
    break;
   }
   else if ( fw.equals ( "6" ) )
   {
    System.exit(1);
   }
   else
   {
    System.out.println
    ( "您的输入有误,请重新输入您的服务种类" );

    nihao();
    break;

   }

  }

 }

 public void zhu()
 {       churu();
         String g[]=x.split(";");
            String g1[]=g[0].split(",");
   String g2[]=g[1].split(",");
   String g3[]=g[2].split(",");
   String g4[]=g[3].split(",");
   String g5[]=g[4].split(",");
 En a1=new En ( g1[0],g1[1],g1[2],g1[3] );
 En a2=new En ( g2[0],g2[1],g2[2],g2[3] );
 En a3=new En ( g3[0],g3[1],g3[2],g3[3]);
 En a4=new En ( g4[0],g4[1],g4[2],g4[3]);
 En a5=new En ( g5[0],g5[1],g5[2],g5[3] );
  List ls=new ArrayList();
  ls.add ( a1 );
  ls.add ( a2 );
  ls.add ( a3 );
  ls.add ( a4 );
  ls.add ( a5 );
   
  Scanner in= new Scanner ( System.in );
  System.out.println ( "欢迎您的光临!" );
  System.out.println ( "请输入您的卡号:" );
  for ( int k=0; k<3; k++ )
  {  
   String kahao=in.next();
   boolean e=false;
           for ( int i=0; i<ls.size(); i++ )
   {
    f1= ( En ) ls.get ( i );
    if ( kahao.equals ( f1.getKh() ) )
    {
     money1=Double.parseDouble ( f1.getQian() );
     e=true;
     break;
    }
    else continue;
   }

     if ( e ) //其实括号里面判断的是布尔值,故只需要给其一个布尔值即可
   {
    System.out.println ( "请输入您的密码:" );

    mima();
    
               
    String fw=in.next();
    if ( fw.equals ( "1" ) )
    {

     one();
     nihao();
     break;
    }
    else if ( fw.equals ( "2" ) )
    {

     two();
     nihao();
     break;
    }
    else if ( fw.equals ( "3" ) )
    {

     three();
                     
     break;
    }
    else if ( fw.equals ( "4" ) )
    {

     four();
     nihao();
        break;
    }
    else if ( fw.equals ( "5" ) )
    {

     quk();
     nihao();
     break;
    }
    else if ( fw.equals ( "6" ) )
    {
     System.exit(1);
    }
    else
    {
     System.out.println
     ( "您的输入有误,大哥大姐按数字喔,这都不会,你的钱当学费了,即卡里没钱了,请输入您的服务种类" );

     nihao();
    
    }
    k=k+3;
   }
   else
   {
    System.out.println ( "您的输入有误,请重新输入" );
    if ( k==2 ) System.out.println ( "三次机会已经够了,你已经被通缉,那张卡不是你的" );
   }
  }
 }
 public void mima()
 {
  Scanner in=new Scanner ( System.in );
  String mima=in.next();
  for ( int i=0; i<1; i++ )
  {
   if ( mima.equals ( f1.getMima() ) )
   {
    Date d= new Date();
    SimpleDateFormat d1=new SimpleDateFormat ( "yyyy年MM月dd日---aHH:mm:ss--E" );
    System.out.println ( f1.getName() +"您好,欢迎来到一生创展银行" );
    System.out.println ( "您所处的位置是北京时间:"+d1.format ( d ) );
    System.out.println ( "请选择你的服务种类:余额查询请按'1'  存款请按'2'  修改密码请按'3'  转账请按'4'  取款请按'5'   退出请按'6'" );
   }
   else {System.out.println ( "密码错误,程序完全退出了!请重新登陆!谢谢合作!" ); zhu(); break;}
  }//密码输入,加上for是为了能用上“break”

 }
 public void one()
 {
  System.out.println ( "您的余额是"+money1 );
 }//余额查询
 public void two()
 {
  System.out.println ( "请输入您要存入的款数:" );
  Scanner in=new Scanner ( System.in );
  double qian=in.nextDouble();
  System.out.println ( "您存入的款数为¥:"+qian );
  money1=money1+qian;
  String z=String.valueOf(money1);
  f1.setQian(z);
  System.out.println ( "您总共的款项是"+ money1 );
 }//存款
 public  void three()
 {
  System.out.println ( "请输入您原来的密码:" );
  Scanner in=new Scanner ( System.in );
  String yuan=in.next();
  for ( int i=0; i<1; i++ )
  {
   if ( yuan.equals ( f1.getMima() ) )
   {
    System.out.println ( "请输入新密码:" );
    String xin=in.next();
    System.out.println ( "您的新密码是:"+xin );
    f1.setMima ( xin );
    zhu();
    break;

   }
   else
   {
   System.out.println ( "您输入的密码错误,请重新选择服务种类" );
   nihao();
   break;
   }
  }
 }//密码修改


 public  void quk()
 {
  System.out.println ( "欢迎您来取款!" );
  System.out.println ( "请输入您要取的款项:" );
  Scanner in=new Scanner ( System.in );
  int quk=in.nextInt();

  if ( quk< money1 )
  {
   System.out.println ( "您取走的金额为¥:"+quk );
   money1=money1-quk;
   String y=String.valueOf(money1);
   f1.setQian(y);
   System.out.println ( "您的账户所剩金额为¥:"+  money1 );
  }
  else {System.out.println ( "您的账户里所剩金额不足,无法取走¥"+quk );}
 }//取款
 public  void four()
 { for(int i=0;i<1;i++){
  System.out.println ( "请输入您要转入的用户卡号:" );
  Scanner in=new Scanner ( System.in );
  String zrk=in.next();
  String leng=new String ( zrk );
 
   if ( leng.length() ==5 )
   {
    System.out.println ( "您要转入的用户卡号为:"+zrk );
   }
   else
   {
    System.out.println ( "您输入的卡号不合规范!请重新选择服务种类:" );

    nihao();
    break;
    
   }
  
  System.out.println ( "请输入您要转入的金额:" );
  int jin=in.nextInt();
  if ( jin<money1 )
  {
   System.out.println ( "您转入该卡号用户金额为¥"+ ( double ) jin );
   System.out.println ( "谢谢您的转账!" );
   money1=money1-jin;
   String k=String.valueOf(money1);
   f1.setQian(k);
  }
  else
  {
   System.out.println ( "您卡里的金额不足,无法转出¥:"+ ( double ) jin );
   System.out.println ( "请您重新选择服务种类!" );
  }//转账
 }}

}

 

原创粉丝点击