Wyświetlanie poszczególnych argumentów obiektu, jedynie metodą System.out.println(Object).

0

Dobry wieczór, mam problem z pewnym zadaniem, w którym za pomocą polecenia

System.out.println(jan);
System.out.println(ala);

Mam wyświetlić:

Klient: Jan stan konta 500.0
Klient: Ala stan konta 1500.0

Gdzie "stan konta" są jednym z atrybutów obiektu Jan oraz obiektu Ala.

Haczyk tkwi w tym, że nie mogę modyfikować metody main.
Mam też problem z obsługą wyjątków, także z wyżej wymienionego powodu, gdyż nie wiem jak mogę je obsłużyć bez modyfikacji main.

Liczę na waszą pomoc,
Pozdrawiam
Krzysztof

4

Przeładuj toString w klasie Klient.

0
Shalom napisał(a):

Przeładuj toString w klasie Klient.

Chodzilo Ci zapewne o przeciazanie (overloading), ale i tak odpowiedz jest bledna. Metode toString() nalezy w tym przypadku przeslonic (override).

3

@wojciech.kudla nie, chodziło mi właśnie o override, bo przecież tylko to ma w tym przypadku sens. Przepraszam że nie znam, nie stosowanych nigdzie, polskich nazw ;]

0
Shalom napisał(a):

@wojciech.kudla nie, chodziło mi właśnie o override, bo przecież tylko to ma w tym przypadku sens. Przepraszam że nie znam, nie stosowanych nigdzie, polskich nazw ;]

Jak zagladam na to forum to odnosze odwrotne wrazenie :) Moze powinnismy aktywnie zwalczac polskie nazewnictwo, bo jest bardziej zrodlem nieporozumien niz edukacji. Dobry przyklad z polskiego tlumaczenia GoF: flyweight - pylek.

1

Bo tutaj mamy na pęczki użytkowników którzy proszą o kurs/książkę po polsku albo piszą tutaj bo nie potrafią na stackoverflow zrozumieć odpowiedzi. A moim faworytem są tacy którzy wstawiają stacktrace i pytają gdzie jest błąd bo nie znają angielskiego ;]
Żeby nie być gołosłownym:
http://4programmers.net/Forum/Java/250246-hibernate_maven_project_-_creating_bazy_-_error?p=1129747#id1129747
Brak klasy w persistence.xml ?
W efekcie mamy tutaj takich co naczytali sie Symfonii i piszą o inicjacji myśląc o initialize ;)

0

Przepraszam za doublepost.

Wielkie dzięki, przysłonienie (czy może przysłonięcie?) zadziałało :)
A macie jakąś wskazówkę jeśli chodzi o obsługę tych wyjątków bez użycia try..catch?

0

Ale jakich wyjątków? Ja nic o żadnych wyjątkach nie widzę ...

0
Mały Terrorysta napisał(a):

Mam też problem z obsługą wyjątków, także z wyżej wymienionego powodu, gdyż nie wiem jak mogę je obsłużyć bez modyfikacji main.

Musze obsłużyć wyjątki które mogę wystąpić w tej metodzie:

public class BankingTest {

  public static void main(String[] args) {
    Person janP = new Person("Jan"),
           alaP = new Person("Ala");
    BankCustomer jan = new BankCustomer(janP);
    BankCustomer ala = new BankCustomer(alaP);
    jan.getAccount().deposit(1000);
    ala.getAccount().deposit(2000);
    jan.getAccount().transfer(ala.getAccount(), 500);
    ala.getAccount().withdraw(1000);


    System.out.println(jan);
    System.out.println(ala);

    Account.setInterestRate(4.5);
    jan.getAccount().addInterest();
    ala.getAccount().addInterest();

    System.out.println(jan);
    System.out.println(ala);
    
    
  }

}

Głównie, żeby nie "wypłacać" i "przelewać" z kont więcej niż na nich jest oraz aby nie wpłacać ujemnych sum..

0

No i gdzie jest problem? Musisz po prostu obsługiwać te sytuacje w samych metodach a nie rzucać żadnych wyjątków dalej. Nadal nie widzę w czym problem.

0

Oh.. Faktycznie.. Czasami się człowiek zatnie i nie zwraca uwagi na takie rzeczy.. Przepraszam.

0

A ja dawno temu napisałem sobie taką klasę, która bardzo przyśpiesza pisanie i ułatwia "stringowanie" obiektów: http://4programmers.net/Pastebin/4001

1 użytkowników online, w tym zalogowanych: 0, gości: 1