Klasa posiadająca 2 konstruktory?
Klasa posiadająca 2 konstruktory?
witam. jestem zielony z programowania w Javie a na studiach mam takie coś dlatego prosiłbym o rozwiązanie poniższego, czysto teoretycznego problemu: Napisać klase Complex opisująca liczby zespolone, mająca 2 konstruktory, metody dodającą, odejmującą, mnożącą i do dzielenia, przesłonić to String, hashCode i equals.
-
- Użytkownik
- Posty: 6607
- Rejestracja: 16 sty 2007, o 19:42
- Płeć: Mężczyzna
- Podziękował: 119 razy
- Pomógł: 1823 razy
Klasa posiadająca 2 konstruktory?
Czysto teoretycznego? Przecież trzeba kod wyprodukować, więc teorią to nie jest... Napisz z czym masz konkretnie problem, bo dawać od tak sobie gotowca nie wypada.
Pozdrawiam.
Pozdrawiam.
Klasa posiadająca 2 konstruktory?
czysto teoretycznego to znaczy że mam to napisać na kartce na egzaminie czyli nie musi to sie kompilować bezblędnie, chodzi tylko o merytoryczną poprawność
-
- Użytkownik
- Posty: 6607
- Rejestracja: 16 sty 2007, o 19:42
- Płeć: Mężczyzna
- Podziękował: 119 razy
- Pomógł: 1823 razy
Klasa posiadająca 2 konstruktory?
No ok, teraz rozumiem. Nadal jednak nie widzę chociażby pytania o coś... I to, że ma być na kartce nie znaczy, że MUSI mieć błędy
Pozdrawiam.
Pozdrawiam.
Klasa posiadająca 2 konstruktory?
omg... pytanie brzmi: NAPISAĆ KLASE Complex OPISUJĄCA LICZBY ZESPOLONE O 2 KONSTRUKTORACH ITP co napisałem wcześniej. chodzi mi o całość
-
- Użytkownik
- Posty: 6607
- Rejestracja: 16 sty 2007, o 19:42
- Płeć: Mężczyzna
- Podziękował: 119 razy
- Pomógł: 1823 razy
Klasa posiadająca 2 konstruktory?
To nie jest pytanie, a twoje polecenie... Jeśli liczysz na gotowca - nie wiem czy komuś będzie się za darmo chciało odwalić za ciebie pracę domową. Mogę napisać wstęp:
Btw. Mam chociaż nadzieję, że nie studiujesz informatyki...
Pozdrawiam.
Kod: Zaznacz cały
class Complex
{
private float Re;
private float Im;
// ...
Pozdrawiam.
Klasa posiadająca 2 konstruktory?
no dobra, to inaczej...
jeśli chodzi o przesłanianie to musze użyć "super" tylko w jaki dokładnie sposób to działa? czy np:
public toString(){
super.toString();
+jakieś instrukcje;
}
załatwia sprawe?
jeśli chodzi o przesłanianie to musze użyć "super" tylko w jaki dokładnie sposób to działa? czy np:
public toString(){
super.toString();
+jakieś instrukcje;
}
załatwia sprawe?
- Dedemonn
- Użytkownik
- Posty: 689
- Rejestracja: 21 lut 2007, o 19:40
- Płeć: Mężczyzna
- Lokalizacja: Z kompa
- Podziękował: 26 razy
- Pomógł: 137 razy
Klasa posiadająca 2 konstruktory?
Metoda toString() jest wywoływana niejawnie podczas dołączania obiektu Twojej klasy (czyli jakaś liczba zespolona) do łańcucha znaków. Ładnie by było jeśli np. bezpośrednie wypisanie takiej liczby na konsolę (czyli System.out.println( mojaLiczba ) ) przedstawiało się w postaci część rzeczywista + część urojona.
Do przesłaniania warto użyć adnotacji (informacja i dla kompilatora i dla samego siebie, że tę metodę właśnie przesłaniasz) @Override w sposób:
Nie ma potrzeby wywoływać toString() nadklasy, bo i po co? (sprawdź co nieprzesłonięta Ci wydrukuje)
Taka przesłonięta metoda ma zwrócić łańcuch znaków w takiej postaci, w jakiej chciałbyś ujrzeć swoją liczbę zespoloną. (zwrócić za pomocą return oczywiście)
A co do konstruktorów - w czym problem? To tylko prosta inicjalizacja pól Re oraz Im podanych już przez soku11.
Do przesłaniania warto użyć adnotacji (informacja i dla kompilatora i dla samego siebie, że tę metodę właśnie przesłaniasz) @Override w sposób:
Kod: Zaznacz cały
@Override public String toString()
{
...
}
Taka przesłonięta metoda ma zwrócić łańcuch znaków w takiej postaci, w jakiej chciałbyś ujrzeć swoją liczbę zespoloną. (zwrócić za pomocą return oczywiście)
A co do konstruktorów - w czym problem? To tylko prosta inicjalizacja pól Re oraz Im podanych już przez soku11.
Klasa posiadająca 2 konstruktory?
ok problem z przesłanianiem został rozwiązany ale oto pojawił sie następny, otóż potrzebuje napisać metody real() zwracającą część rzeczywsitą i img() zwracającą część urojoną liczby zespolonej. czy rozwiązaniem byłoby zwrócenie wartości pola Re?
Kod: Zaznacz cały
public class Complex{
int Re;
int Im;
public int real(Complex c){
return c.Re;
}
}
- Dedemonn
- Użytkownik
- Posty: 689
- Rejestracja: 21 lut 2007, o 19:40
- Płeć: Mężczyzna
- Lokalizacja: Z kompa
- Podziękował: 26 razy
- Pomógł: 137 razy
Klasa posiadająca 2 konstruktory?
No prawie.
Po pierwsze, każdy obiekt klasy Complex jest właśnie liczbą urojoną, więc wywołując metodę jakaśLiczba.real() nie ma potrzeby podawać jako parametru kolejnej liczby. Po prostu zwróć Re.
Do tego, jak sama nazwa wskazuje, część rzeczywista powinna być typu rzeczywistego. (tak samo urojona)
Po pierwsze, każdy obiekt klasy Complex jest właśnie liczbą urojoną, więc wywołując metodę jakaśLiczba.real() nie ma potrzeby podawać jako parametru kolejnej liczby. Po prostu zwróć Re.
Do tego, jak sama nazwa wskazuje, część rzeczywista powinna być typu rzeczywistego. (tak samo urojona)