Java programozás megértésében segítene valaki?
1. feladat
for (int sor = 0; sor < 5; sor++) {
for (int oszlop = 0; oszlop < 5; oszlop++) {
out.print("*");
}
out.println();
}
2. feladat
for (int sor = 0; sor < 5; sor++) {
for (int oszlop = 0; oszlop < sor; oszlop++) {
out.print("*");
}
out.println();
}
A könyvben annyi az utasítás, hogy próbáld megjósolni a kimenetelét mindkettőnek.
Egyik sem sikerült..
Szeretném, ha elmagyaráznátok nekem, hogy a ciklusok lefutása közben mi történik a programban, mi a logikája, miért írja ki azt amit..
Nagy segítség lenne, köszönöm előre is!
Ha egy ciklus működésével van gondod, akkor nem biztos, hogy egymásba ágyazott ciklusokon kellene a működést megértened. Mindkét feladatban ciklus van a cikluson belül.
Egyszerűbb feladaton próbáld megérteni, hogyan működik egy ciklus.
Egy ciklus egyébként semmi mást nem csinál, csak az utasítás blokkban {...} található utasításokat sorrendben egymás után végrehajtja, mindaddig elölről a végéig, amíg a ciklus feltételek érvényesek.
Utasítás blokk a zárójelek közötti utasítások összessége: { ... }
Ha csak egy utasítás van, akkor elhagyhatók a zárójelek.
A feltételeket, amíg a for ciklus fut, a () zárójelek között adod meg. Kell egy ciklus változó, aminek az értékét növeled, vagy csökkented minden egyes ciklus lépéssel. Ez a ciklus működéséhez mindenképpen kell, ezt figyeli a ciklus.
A zárójelen belül három dolgot kell megadnod, pontosvesszővel elválasztva:
1: a ciklusváltozó kezdő értéke (1. példában: int sor=0)
2: a feltétel, amíg a ciklus fut (sor < 5)
3: a ciklusváltozó léptetése (többnyire ++, vagy --)
Egyszerűbb ciklusokkal kezdd, ha szeretnéd megérteni.
"for (int sor = 0; sor < 5; sor++) { "
sor változón lépked 0-tól 4-ig
"for (int oszlop = 0; oszlop < 5; oszlop++) { "
Mivel a cikluson belül vagyunk, ezért a sor végig állandó, az oszlopon lépked 0-tól 4-ig.
out.print("*");
Kiír egy *-ot. Ezt minden oszlop lépkedésnél kiírja, tehát 5-öt fog kiírni.
}
out.println();
Kiléptünk az oszlop ciklusból, a sor ciklusban járunk, berak egy sortörést.
}
Tehát sor=0, a belső ciklus kiír 5db *-ot, utána jön egy sortörés.
sor = 1-nél lejátszódik ugyanez.
Az eredmény 5*5 csillag lesz.
A másik annyiban tér el, hogy a belső ciklusban:
"oszlop < sor" szerepel.
Tehát az első sorba 0 csillagot fog kiírni, aztán 1-et aztán 2-őt. Az utolsóba 4-et.
A sor legnagyobb értéke 4, ezért az oszlop értéke 0-tól 3-ig fog menni, tehát 4 csillagot ír ki az utolsó sorba.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!