Klient.java
import java.rmi.Naming; import java.rmi.RemoteException; public class Klient { private iBankSerwer bank = null; private iKonto konto = null; int status; public Klient (){ status = 1; } private static void menu(int i){ if (1 == i){ System.out.println("1. Logowanie"); System.out.println("2. Nowe konto"); System.out.println("0. Wyjscie"); } else if (2 == i){ System.out.println("1. Saldo"); System.out.println("2. Przelew"); System.out.println("3. Wyloguj"); System.out.println("4. Wplac"); System.out.println("5. Wyplac"); System.out.println("0. Wyjscie"); } else if (3 == i){ System.out.println("Koniec pracy z bankiem"); } else{ System.out.println("0. Wyjscie"); } }
public void start() throws RemoteException { boolean ok = true; char wybor = 'x'; while (ok){ menu(status); wybor = Czytaj.Znak(); if (1 == status && '1' == wybor){ zaloguj(); } else if (1 == status && '2' == wybor){ zakladajKonto(); } else if (1 == status && '0' == wybor){ ok = false; status = 3; } else if (2 == status && '2' == wybor){ przelew(); } else if (2 == status && '1' == wybor){ try{ saldo(); } catch (RemoteException e){ System.out.println("Blad przy saldzie"); e.printStackTrace(); } } else if (2 == status && '4' == wybor){ double kwota = 0; System.out.println("Podaj kwote"); kwota = Czytaj.LiczbeR(); konto.uznajNaRachunek(kwota); System.out.println("Wplata " + kwota); saldo(); } else if (2 == status && '5' == wybor){ double s1, s2, kwota = 0; System.out.println("Podaj kwote"); kwota = Czytaj.LiczbeR(); s1 = konto.getSaldo(); konto.zdejmijZRachunku(kwota); s2 = konto.getSaldo(); if (s1 == s2){ System.out.println("Uwaga! Saldo nie zostalo zmienione!"); } else{ System.out.println("Wyplata " + kwota); saldo(); } } else if (2 == status && '3' == wybor){ wyloguj(); } else { status = 3; ok = false; } } menu(3); }
private void przelew () throws RemoteException{ double kwota = 0; int id2 = 0; System.out.println("Podaj kwote"); kwota = Czytaj.LiczbeR(); System.out.println("Podaj id innego konta"); id2 = Czytaj.LiczbeC(); if (id2 != konto.getId()){ if (bank.przelew(konto.getId(), id2, kwota)) { System.out.println("Przelew na rachunek " + id2 + " wykonany poprawnie"); saldo(); }else{ System.out.println("Przelew nie zostal wykonany, sprobuj ponowanie jutro."); } } else { System.out.println("Niedozwolony przelew na własne konto"); } }
private void saldo() throws RemoteException{ System.out.println("Saldo rachunku " + konto.getId() + " " + konto.getImie() + " " + konto.getNazwisko() + " to " + konto.getSaldo()); } private void zakladajKonto(){ if (konto != null){ System.out.println("Jesteś zalogowany. Nie możesz zakladac."); } else{ String imie, nazwisko; try{ bank = (iBankSerwer) Naming.lookup("rmi://127.0.0.1/Bank"); System.out.println("Podaj imie"); imie = Czytaj.Linie(); System.out.println("Podaj nazwisko"); nazwisko = Czytaj.Linie(); konto = bank.dodajKonto(imie, nazwisko); System.out.println("Konto zostało dodane"); System.out.println("Osoba: "+ konto.getImie() + " " + konto.getNazwisko() + " otrzymal id: " + konto.getId() + " i haslo " + konto.getHaslo()); status = 2; } catch(Exception e){ System.out.println("Wystapil bład - szczegoly ponizej"); e.printStackTrace(); } } }
private void wyloguj(){ bank = null; konto = null; status = 1; System.out.println("Wyjscie z obslugi konta!"); } private void zaloguj(){ if (null != bank){ System.out.println("Jesteś zalogowany"); } else{ int id; String haslo; try{ bank = (iBankSerwer) Naming.lookup("rmi://127.0.0.1/Bank"); System.out.println("Podaj id"); id = Czytaj.LiczbeC(); System.out.println("Haslo"); haslo = Czytaj.Linie(); konto = (iKonto) bank.logowanie(id,haslo); if (null == konto){ System.out.println("Logowanie klienta " + id + " nieudane."); bank = null; } else{ status = 2; System.out.println("Logowanie udane. Witaj "+ konto.getNazwisko() + " " + konto.getImie() ); } } catch(Exception e){ System.out.println("Nie można polaczyc sie z bankiem, szczegoly ponizej"); System.out.println(e.getMessage()); e.printStackTrace(); } } } }
2012.11.22 22:29:14.