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

Wyjaśnienie zasady działania fragmentu kodu

Object Storage Arubacloud
0 głosów
181 wizyt
pytanie zadane 1 września 2017 w Java przez niezalogowany

Chcialbym, aby ktos wyjasnił mi lub rozrysował zasade działania tego "programu". Z góry dziekuje za odpowiedz. Pozdrawiam

1 odpowiedź

0 głosów
odpowiedź 1 września 2017 przez ShiroUmizake Nałogowiec (46,300 p.)
Coś taki tricky ten kod...

1. Wywolujesz tablicę obiektów project zapisaną pod zmienną p. WAŻNE. Ta tablica składa się typu project ale nie jest na niej wywołowany i ma być nie więcej niż 20. Mówiąc inaczej powiedziałem JVM ta tablica przyjmuje typ project i będzie ich maksymalnie 20 (czyli "zarezerwuj przestrzeń pod nie)

2.Potem pętelka while robisz dopóki x nie jest większe od 9, potem x rośnie.

3.przepisujesz do p[x] , a x to numer wywołowania a w naszym przypadku x to indeks tabeli. Przez to że tabela jest typem prostym (jak dobrze pamiętam, bo strzelam), mogę bezpośrednio pod indeks przesłać obiekt utworzony przez konstruktor.

4.Potem wywołuje na tym p[x] pole licznik i rośnie o 1.

5.ilośc zwiększam o 1.

ale... potem do ilości dodaje wynik metody p[x].mozeNowa (zawiera taką metodę w konstuktorze) i przekazuje jej x

6. Teraz nie pamiętam co zrobi kompilator , zauważ możeNowa ma wywołowanie samej siebie konstruktora i a drugie co warto zauważyć konstruktor za każdym razem jest uruchamiany, i teraz GC albo będzie czyścił kolejne obiekty mi się wydaje, że będzie usuwał.

7.x<3 zgadza się wchodzimy pętli , nic ciekawego w niej się nie dzieje (tzn jeżeli moje przepuszczenia się zgadzają) zwraca 1 a dla false 0.

8.Czyli dla ilosc nowa wartosc 1+1 czyli 2.

9. Zauważ kolejną rzecz ilość jest wywołowana w mainie więc cały czas się zwiększa.(więc może być to 12)

10.Zauważ kolejną rzecz przy każdym przejściu pętli , wskazujesz na kolejne indeksy tabeli i dla każdego nowego obiektu  project wywołujesz licznik , a licznik na początku równy jest 0. A po drguie jest publiczny więc spokojnie możemy w niego ingerować.

Mam nadzieję, że pomogłem. Jeżeli to twój kod to nie pisz tak... Naprawdę.

Podobne pytania

0 głosów
1 odpowiedź 179 wizyt
pytanie zadane 18 lutego 2018 w Java przez Piotrek32 Obywatel (1,610 p.)
0 głosów
1 odpowiedź 165 wizyt
pytanie zadane 13 lutego 2019 w C# przez Shimeo7 Obywatel (1,910 p.)
+1 głos
1 odpowiedź 483 wizyt
pytanie zadane 22 stycznia 2019 w C# przez Borekdb Nowicjusz (130 p.)

92,573 zapytań

141,423 odpowiedzi

319,648 komentarzy

61,959 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!

...