📄 tdatm.java
字号:
//TD的客户机ATM
import java.net.*;
import java.io.*;
class TDATMthread extends Thread{
public TDATMthread(Socket s){
this.s=s;
}
public void run(){
try{
OutputStream ostd=s.getOutputStream();
PrintWriter outtd=new PrintWriter(ostd,true); //向TD的输出流
InputStream istd=s.getInputStream();
BufferedReader brtd=new BufferedReader(new InputStreamReader(istd)); //接收TD的输入流
InputStream isc=s.getInputStream();
BufferedReader brc=new BufferedReader(new InputStreamReader(System.in)); //接收客户ATM的输入流
OutputStream osc=s.getOutputStream();
PrintWriter outc=new PrintWriter(osc,true); //客户机ATM的输出流
String line=null;
String idtd=null;
String psdtd=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=brc.readLine(); //接收ID
outtd.println(idatm);
idtd=brtd.readLine();
if(idtd.equals("error")){
System.out.println("用户名不存在,请重试.\n您最多可以试5次");
count++;
if(count==5) break;
}
else if(idtd.equals("ok")){
count=0;
stopFlag2=true;
break;
}
}
while(stopFlag2){ //检验用户密码
System.out.println("请输入密码:");
psdatm=brc.readLine(); //接收用户密码
outtd.println(psdatm);
psdtd=brtd.readLine();
if(psdtd.equals("error")){
System.out.println("密码错误,请重试.\n您最多可以试5次");
count++;
if(count==5) break;
}
else if(psdtd.equals("ok")){
System.out.println("请继续");
count=0;
stopFlag3=true;
break;
}
}
while(stopFlag3){ //用户操作
System.out.println("请选择:1,存款 2,取款 3查询余额 4,退出");
line=brc.readLine();
if(line.equals("1")){
System.out.println("请输入存款金额:");
line=brc.readLine();
outtd.println("01".concat(line));
if((brtd.readLine()).equals("01")){
System.out.println("操作成功");
}
}
else if(line.equals("2")){
System.out.println("请输入取款金额:");
line=brc.readLine();
outtd.println("02".concat(line));
if((brtd.readLine()).equals("02")){
System.out.println("操作成功");
}
}
else if(line.equals("3")){
outtd.println("03");
System.out.println(brtd.readLine());
}
else if(line.equals("4")){
outtd.println("04");
if((brtd.readLine()).equals("04")){
break;
}
}
else{
if((brtd.readLine()).equals("00")){
System.out.println("无效,请重新输入");
}
}
}
s.close();
outc.close();
osc.close();
isc.close();
brc.close();
brtd.close();
istd.close();
outtd.close();
ostd.close();
}
catch(Exception e){
}
}
private Socket s=null;
}
public class TDATM{
public static void main(String[] args)throws Exception{
InetAddress ia=InetAddress.getLocalHost();
int port=3333;
Socket s=new Socket(ia,port);
boolean stopFlag=false;
OutputStream oss=s.getOutputStream();
PrintWriter outs=new PrintWriter(oss,true);
outs.println("TD-ATM"); //向CIBC报到
InputStream iss=s.getInputStream();
BufferedReader brs=new BufferedReader(new InputStreamReader(iss));
if(brs.readLine().equals("start")){
TDATMthread at=new TDATMthread(s);
at.start();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -