Panowie, od niedawna zacząłem "bawić się " w programowanie w javie.
Jeżeli to nie odpowiedni dział, bo tu sa poruszane tylko poważne tematy, to proszę o przeniesienie do takiego działu gdzie mogę zadać to pytanie.
Mam do rozwiązania wydawałoby sie łatwe zadanie, a jednak utknąłem.
Przykład jest ... kulinarny ;)
Tworze obiekt Dzem, ale otrzymuje Dzem@15db9742 - jak rozumiem to jest jedynie wskazane miejsca w pamięci a nie rzeczywiste utworzenie obiektu. Co i w ktorym miejscu robię nieprawidłowo?
Treść zadania:
"Zadeklaruj klasę Sloik zawierającą pole Dzem dzem, dedykowany konstruktor
inicjujacy wszystkie zadeklarowane pola i metody:
- otworz
- zamknij
- czyOtwarty
Nastepnie utwórz obiekt klasy Sloik i napełnij go wybranym rodzajem dzemu, operacje
powtórz dla wszystkich rodzajów dzemów.
Uwaga: nakladanie dzemu do zamknietego słoika lub pozostawienie słoika nie zamknietego
możne prowadzić do zepsucia się produktu!"
to co napisałem to:
public class Dzem {
String smak;
double waga;
// konstruktory i ich przeciazenie
Dzem(double waga){
this("No name",waga);
}
Dzem(String smak){
this(smak,-100.0);
}
Dzem (String smak, double waga){
this.smak = smak;
this.waga = waga;
}
}
/----------------------/
//Klasa słoik
public class Sloik {
Dzem dzem;
boolean otwarty;
Sloik(Dzem rodzaj, boolean czyOtwarty){
dzem = rodzaj;
otwarty = czyOtwarty;
}
//Metody
boolean otworz(){
return otwarty = true;
}
boolean zamknij(){
return otwarty = false;
}
boolean czyOtwarty(){
return otwarty;
}
void wyswietlSloik(){
System.out.println("\n");
System.out.println("Dzem: " + dzem);
System.out.println("Status czy otwarty: " + otwarty);
}
public String toString(){//overriding the toString() method
return dzem+" "+otwarty;
}
}
/-----------------------/
//klasa DzemTest
public class DzemTest {
public static void main(String[] args) {
Dzem d1 = new Dzem("Malinowy",10);
Dzem d2 = new Dzem(15);
Dzem d3 = new Dzem("Truskawkowy");
Sloik s = new Sloik(d1,false);
System.out.print(d1.smak +" ");
System.out.print(d1.waga +" ");
System.out.print(d2.smak +" ");
System.out.print(d2.waga +" ");
System.out.print(d3.smak +" ");
System.out.print(d3.waga +" ");
s.wyswietlSloik();
System.out.print(s);
}
}