• 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)

Object Storage Arubacloud
0 głosów
124 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 284 wizyt
0 głosów
1 odpowiedź 185 wizyt
pytanie zadane 19 sierpnia 2019 w C i C++ przez shnycell Nowicjusz (140 p.)
0 głosów
3 odpowiedzi 669 wizyt
pytanie zadane 21 października 2018 w C i C++ przez Wroteq98 Nowicjusz (200 p.)

92,632 zapytań

141,500 odpowiedzi

319,878 komentarzy

62,011 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

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy 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!

...