Wpis z mikrobloga

#naukaprogramowania #programowanie #java

Stworzyłem metodę reprezentującą datę (używa trzech pól całkowitoliczbowych dla dnia, miesiąca i roku) i próbuję napisać metodę zwracającą datę (tej samej klasy) przesuniętą (do przodu) o podaną w argumencie k liczbę dni (k <=20).
Mam problem z wypełnieniem pól daty, mającej być rezultatem: poniższy kod się nie kompiluje (nie jest on ukończony oczywiście, chodzi o samą metodykę)

public Data zaKDni (int k)
{
zaKDni.dzien = this.dzien;
zaKDni.mies = this.mies;
zaKDni.rok = this.rok;

return zaKDni;

}

bład z treścią

cannot find symbol - variable zaKDni
Jak powinienem to napisać?
  • 11
@Szinek: @Endriu_: aaa tak, chyba się porypałem na poprawnym zadeklarowaniu obiektu... teraz go nie zadeklarowałem, ale wcześniej coś próbowałem (z błędem) i miałem błąd kompilacji, przez co wydawało mi się, że niepotrzebnie deklaruje, bo sama metoda go tworzy. Dzięki, bo już chyba będzie grało.
@Pierwiastek_z_Czech: Jaki jest sens tworzenia obiektu z konstruktora, gdzie podajesz dzien, mies rok a potem ręcznie zmienianie tych pól? W tym kodzie this też nie jest potrzebne (chyba, że te dzien, mies, rok to coś co podajesz w argumentach metody, ale wtedy sama treść nie ma sensu - tworzenie nowej instancji z jakimiś parametrami, a potem nadpisywanie pól wartościami z obiektu, na którego rzecz została wywołana ta metoda).