mythread.java

来自「本银行系统涉及到多线程」· Java 代码 · 共 129 行

JAVA
129
字号
package banking;
import java.net.*;
import java.io.*;


public class MyThread implements Runnable
{
	private Socket socket;
	private Bank bank;
	public boolean quit=false;
	
	private MyStruct data=null;
	
	

	InputStream in=null;
	
	String temp=null;
	
	
	public MyThread(Socket socket)
	{
		this.socket=socket;
		bank=Bank.getBank();
	}
        public void run()
	{
                DataInputStream dis = null;
                DataOutputStream dout=null;
		
		try
		{
			in=socket.getInputStream();
			//建立Socket输入流
			System.out.println("建立Socket输入流");

						
			//建立数据输入流
			dis = new DataInputStream(in);
			System.out.println("建立数据输入流");
			
			//建立数据输出流
			dout= new DataOutputStream(socket.getOutputStream());
			
			
		}
		catch(Exception e)
		{
			System.out.println(e);
		}
		
		
		while (!quit)
		
		{
			try
			{                 
                  					
				System.out.println("准备读入数据");
               		
				//读入客户端传送过来的数据
				temp=(String)dis.readUTF();
				
				System.out.println("读入String");
			}
			catch (Exception e)
			{
				System.out.println("数据读取失败");
				break;
			}
			
			MyStruct data = ChangeString.change(temp);

				
			System.out.println("身份证号码是"+data.ID+"  成功了"+data.opType);

	
		
			
			//处理代码(访问Bank类)


			switch(data.opType)
			{
			case 5:
				quit=true;
				break;
			case 0: 
				{
					
					bank.checkCustomer(data.firstName,data.lastName,data.ID,data.password,data.balance,data.opType,dout);
						
				}
				break;
			case 1:
				{
					data.balance=0;
					bank.checkCustomer(data.ID,data.password,data.balance,data.opType,data.accountNum,dout);
				};
				break;
			case 2:{
				bank.checkCustomer(data.ID,data.password,data.balance,data.opType,data.accountNum,dout);
				
				break;
				}
			case 3:{
				bank.checkCustomer(data.ID,data.password,data.balance,data.opType,data.accountNum,dout);
				
				break;
			}

			default:System.out.println("错误输入");
			}




		}	
		
	
		System.out.println("close");
	}



	
}
		

⌨️ 快捷键说明

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