I develop an ATM java code I have put everything that i have learned into it and it just seem not to work
the code is about client and server where the server replay to client requests based on a list of choices (check balance, withdrawal,deposit and transfer) the server is connected to a database accessed by protocol through threads
public class ATMClient { public static void main(String[] args) throws IOException {
Socket kkSocket = null; PrintWriter out = null; BufferedReader in = null;
try { kkSocket = new Socket("Hostname", 1212); // System.err.println("Enter the choice and the acount"); out = new PrintWriter(kkSocket.getOutputStream(), true); in = new BufferedReader(new InputStreamReader(kkSocket.getInputStream())); } catch (UnknownHostException e) { System.err.println("Don't know about host: Hostname"); System.exit(1); } catch (IOException e) { System.err.println("Couldn't get I/O for the connection to:Hostname"); System.exit(1); }
BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in)); String fromServer; String fromUser;
while ((fromServer = in.readLine()) != null) { System.out.println(fromServer); if (fromServer.equals("Bye.")) break;
public class MultiServerThread extends Thread { private Socket socket = null;
public MultiServerThread(Socket socket) { super("MultiServerThread"); this.socket = socket; }
public void run() {
try { PrintWriter out = new PrintWriter(socket.getOutputStream(), true); BufferedReader Ch = new BufferedReader( new InputStreamReader( socket.getInputStream()));
String inputLine, outputLine="",Choice; out.println(outputLine); while ((inputLine = Ch.readLine()) != null) { Protocol kkp = new Protocol(); out.println("Please select a choice 1 Check Balance,2 Withdrawal,3 Deposit,4 Account Transfer,5 Exit ");
while ((Choice = Ch.readLine()) != null) { if (Choice.equals("1")) {
out.println("Enter Your Card Number"); BufferedReader in = new BufferedReader( new InputStreamReader( socket.getInputStream())); inputLine=in.readLine(); outputLine = kkp.processInput(Choice+inputLine,""); if(outputLine.substring(0,1).equals("1")) { out.println("Your Current Balance Is"+ outputLine.substring(0,1));
} else if(outputLine.substring(0,1).equals("3")) { out.println("Invalid ID card"); } else if(outputLine.substring(0,1).equals("4")) { out.println("Unknown Error"); } out.println("Please select a choice 1 Check Balance,2 Withdrawal,3 Deposit,4 Account Transfer,5 Exit "); //in.close(); } else if (Choice.equals("2")) { out.println("Enter Your Card Number"); BufferedReader in = new BufferedReader( new InputStreamReader( socket.getInputStream())); inputLine=in.readLine(); out.println("Enter The Amount For Withdrawal"); BufferedReader Amt = new BufferedReader( new InputStreamReader( socket.getInputStream())); String Amount=Amt.readLine(); outputLine = kkp.processInput(Choice+inputLine+Amount,""); if(outputLine.substring(0,1).equa ls("1")) { out.println("Your Current Balance Is"+ outputLine.substring(1)); } else if(outputLine.substring(0,1).equals("3")) { out.println("Your ID is Not Correct"); } else if(outputLine.substring(0,1).equals("4")) { out.println("Unknown Error"); } else if(outputLine.substring(0,1).equals("2")) { out.println("The Amount Exceeds The limit"); } out.println("Please select a choice 1 Check Balance,2 Withdrawal,3 Deposit,4 Account Transfer,5 Exit "); //in.close(); } else if (Choice.equals("3")) { out.println("Enter Your Card Number"); BufferedReader in = new BufferedReader( new InputStreamReader( socket.getInputStream())); inputLine=in.readLine(); out.println("Enter The Amount For Deposit"); BufferedReader Amt = new BufferedReader( new InputStreamReader( socket.getInputStream())); String Amount=Amt.readLine(); outputLine = kkp.processInput(Choice+inputLine+Amount,"");
if(outputLine.substring(0,1).equ als("1")) { out.println("Your Current Balance Is"+ outputLine.substring(1)); } else if(outputLine.substring(0,1).equals("3")) { out.println("Your ID is Not Correct"); } else if(outputLine.substring(0,1).equals("4")) { out.println("Unknown Error"); } else if(outputLine.substring(0,1).equals("2")) { out.println("The Amount Exceeds The limit"); } out.println("Please select a choice 1 Check Balance,2 Withdrawal,3 Deposit,4 Account Transfer,5 Exit "); //in.close(); } else if (Choice.equals("4")) { out.println("Enter Your Card Number"); BufferedReader in = new BufferedReader( new InputStreamReader( socket.getInputStream())); inputLine=in.readLine(); out.println("Enter The Amount For "); BufferedReader Amt = new BufferedReader( new InputStreamReader( socket.getInputStream())); String Amount=Amt.readLine(); out.println("Enter The Account No to which to be transferred"); BufferedReader Acc2 = new BufferedReader( new InputStreamReader( socket.getInputStream())); String SecondAccount=Acc2.readLine(); outputLine = kkp.processInput(Choice+inputLine+Amount,SecondAccount); if(outputLine.substrin g(0,1).equals("1")) { out.println("Your Current Balance Is"+ outputLine.substring(1)); } else if(outputLine.substring(0,1).equals("3")) { out.println("Your ID is Not Correct"); } else if(outputLine.substring(0,1).equals("4")) { out.println("Unknown Error"); } else if(outputLine.substring(0,1).equals("2")) { out.println("The Amount Exceeds The limit"); } out.println("Please select a choice 1 Check Balance,2 Withdrawal,3 Deposit,4 Account Transfer,5 Exit "); //in.close();