( _Franko_ | 2007. 01. 15., h – 11:06 )

A konzolkezelésben nincs hiba - legalábbis nálam, a megfelelő helyen kéri a megfelelő számot.

Azonban az "if (szam<1 & szam>45)" nem jó... gondolom azt szeretnéd, hogy 1 és 45 között legyen (de akkor miért csak 5 számot olvasol be? :). Ekkor ez a két módszer célszerű:
"if (szam<1 || szam>45)", vagyis a szám kisebb, mint 1 VAGY nagyobb, mint 45
"if (szam>=1 && szam<=45)", vagyis a szám nagyobb egyenlő, mint 1 VAGY kisebb egyenlő, mint 45
A szimpla & jel nem logikai és, hanem bitenkénti és művelet.

A másik hiba, hogy hibás szám beolvasása után a program ugyan nem tárolja le a beolvasott számot, de tovább lépteti a beolvasást. Ilyen esetben célszerű a inkább while ciklust használni, és a jó szám esetén növelni a beolvasott helyes számok számát (j).
--
http://www.javaforum.hu