• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Nie pokazuje mi nic po wypełnieniu tablicy elementami z klasy. (java)

VPS Starter Arubacloud
0 głosów
119 wizyt
pytanie zadane 19 lipca 2017 w Java przez heartagram Obywatel (1,770 p.)

cześć,

o to jakie zadanie mam zrobić: 

*Stwórz hierarchię dziedziczenia dla Gryzoni: klasy Mysz, Chomik itd. W klasie bazowej umieść metody wspólne dla wszystkich Gryzoni, a następnie przesłoń je, realizując różnorodne zachowanie się klas pochodnych. Stwórz tablicę Gryzoni i wypełnij ją rónymi specyficznymi Gryzoniami, po czym wywołuj metody klasy bazowej, obserwując co się dzieje. 

 

Oto moje wypociny: 



class Gryzon{
  public void nick() {};
    public int wiek(int i) { return i;}
}

class Mysz extends Gryzon{
  public void nick() {System.out.println("Jestem Mysz Kamil");} 
  public int wiek(int i) { System.out.println("Mam lat 1+ "); return i+1; }
}

class Chomik extends Gryzon{
  public void nick() {System.out.println("Jestem Chomik Iwona");} 
  public int wiek(int i) { System.out.println("Mam lat 2+ "); return i+2; }
}

public class Test{
public static void main(String[] args){

      Gryzon s[] = new Gryzon[6];
    for(int i=0; i<s.length; i++)
 
       s[i]=  new Gryzon();     // tu jest problem
  
  
  
  for(Gryzon gryz: s)
        gryz.wiek(2);

}}

 

Gdzie jest problem? Ano jak chcę wypełnić różnymi gryzoniami tablicę i ją wypisać to niby się kompiluje ale nie wyświetla nic..

1 odpowiedź

+1 głos
odpowiedź 19 lipca 2017 przez ziemjok Gaduła (4,160 p.)
wybrane 19 lipca 2017 przez heartagram
 
Najlepsza
nic nie wypisuje bo po prostu sobie tego nie wypisujesz :)

wywołujesz metodę, która zwraca Ci jakąś wartość ale nic z nią nie robisz

daj to w println to powinno wypisać
komentarz 19 lipca 2017 przez heartagram Obywatel (1,770 p.)
no właśnie też tak nie działa, tzn nie wyświetla nic :(
1
komentarz 19 lipca 2017 przez ziemjok Gaduła (4,160 p.)

a dałeś w for-eachu 

System.out.println(gryz.wiek(2));?

 

komentarz 19 lipca 2017 przez heartagram Obywatel (1,770 p.)
tak, ale jak chcę wywołać metode gryz.nick(); to pustka.

Jeżeli dodam jakiś napis do wywołania np. gryz.nick("coś"); to nie działa.

 

//edit

problemem od początku było, że chciałem voidem zwracać Stringa x)

 

 

Już wszystko ok, dzięki wielkie :D

Podobne pytania

+2 głosów
2 odpowiedzi 258 wizyt
0 głosów
1 odpowiedź 174 wizyt
pytanie zadane 19 sierpnia 2019 w C i C++ przez shnycell Nowicjusz (140 p.)
0 głosów
3 odpowiedzi 635 wizyt
pytanie zadane 21 października 2018 w C i C++ przez Wroteq98 Nowicjusz (200 p.)

92,453 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...