⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 catm.java

📁 银行系统
💻 JAVA
字号:
//CIBC的客户机ATM

import java.net.*;
import java.io.*;

class CATMthread extends Thread{
	public CATMthread(Socket s){
		this.s=s;
	}
	public void run(){
		try{
  	  OutputStream osci=s.getOutputStream();         
		  PrintWriter outci=new PrintWriter(osci,true);   //向CIBC的输出流                       
		
	  	InputStream isci=s.getInputStream();
		  BufferedReader brci=new BufferedReader(new InputStreamReader(isci));	     //接收CIBC的输入流
		  		
			InputStream isatm=s.getInputStream();
			BufferedReader bratm=new BufferedReader(new InputStreamReader(System.in));    //接收客户ATM的输入流              
			
			OutputStream osatm=s.getOutputStream();
			PrintWriter outatm=new PrintWriter(osatm,true);           //客户机ATM的输出流
			
			String line=null;  
			String idci=null;
			String psdci=null;                     
			String idatm=null;                    
			String psdatm=null;   
			
			boolean stopFlag1=false;
			boolean stopFlag2=false;
			boolean stopFlag3=false;

			int count=0;
			while(!stopFlag1){                          //验证用户身份
			  System.out.println("请输入用户名:");
			  idatm=bratm.readLine();                //接收ID
		    outci.println(idatm);
		    idci=brci.readLine();              
		    if(idci.equals("error")){
		    	System.out.println("用户名不存在,请重试.\n您最多可以试5次");
		    	count++;
		    	if(count==5) break;
		    }
		    else if(idci.equals("ok")){
		    	count=0;
		    	stopFlag2=true;
		    	break;	
		    }
		  }
		  while(stopFlag2){                  //检验用户密码
			  System.out.println("请输入密码:");
			  psdatm=bratm.readLine();                    //接收用户密码
			  outci.println(psdatm);	
			  psdci=brci.readLine();		       
			  if(psdci.equals("error")){
				  System.out.println("密码错误,请重试.\n您最多可以试5次");
				  count++;
				  if(count==5) break;
			  }
			  else if(psdci.equals("ok")){
			  	System.out.println("请继续");
			  	count=0;
			  	stopFlag3=true;
			  	break;
			  }
			}
			while(stopFlag3){                        //用户操作
			  System.out.println("请选择:1,存款 2,取款 3查询余额 4,退出");
			  line=bratm.readLine();
			  if(line.equals("1")){
				  System.out.println("请输入存款金额:");
				  line=bratm.readLine();
				  outci.println("01".concat(line));
				  if((brci.readLine()).equals("01")){
				    System.out.println("操作成功");
				  }
			  }
			  else if(line.equals("2")){
				  System.out.println("请输入取款金额:");
				  line=bratm.readLine();
				  outci.println("02".concat(line));
				  if((brci.readLine()).equals("02")){
				  	System.out.println("操作成功");
				  }
			  }
			  else if(line.equals("3")){
				  outci.println("03");
				 
				  System.out.println(brci.readLine());
				
			  }
			  else if(line.equals("4")){
			  	outci.println("04");
			  	if((brci.readLine()).equals("04")){
				    break;
				  }
			  }
			  else{
			  	if((brci.readLine()).equals("00")){
			  	  System.out.println("无效,请重新输入");
			  	}
			  }
			}
			s.close();
			outatm.close();
			osatm.close();
			isatm.close();
			bratm.close();
			brci.close();
			isci.close();
			outci.close();
			osci.close();
		}
	  catch(Exception e){
		}	
  }
	private Socket s=null;
}
public class CATM{
	public static void main(String[] args)throws Exception{
		InetAddress ia=InetAddress.getLocalHost();
		int port=2222;
		Socket s=new Socket(ia,port);
		
		boolean stopFlag=false;
		
		OutputStream oss=s.getOutputStream();
		PrintWriter outs=new PrintWriter(oss,true);
		outs.println("CIBC-ATM");                //向CIBC报到
		
		InputStream iss=s.getInputStream();
		BufferedReader brs=new BufferedReader(new InputStreamReader(iss));
		
		if(brs.readLine().equals("start")){
			CATMthread ct=new CATMthread(s);
			ct.start();		
    }
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -