Írj programot, amely bekér 3 számot a felhasználótól és Integer típusú változókban tárolja el őket! Írja ki a legkisebb szám értékét! //Mi a hiba? Mindig 0 jön ki
int legkisebb = 0;
System.out.println("Adja meg az első számot:");
int szam1 = sc.nextInt();
System.out.println("Adja meg a második számot:");
int szam2 = sc.nextInt();
System.out.println("Adja meg a harmadik számot:");
int szam3 = sc.nextInt();
if (legkisebb > szam1) {
legkisebb = szam1;
}
if (legkisebb > szam2) {
legkisebb = szam2;
}
if (legkisebb > szam3) {
legkisebb = szam3;
}
System.out.println("Legkisebb szám: " + legkisebb);
"If(legkisebb > szam)
Itt a hiba. A legkisebb == 0. Tehát bármely szám nagyobb lesz tőle
Javítanám magam: bármely pozitiv szam.
Ha kell itt egy javítás:
if(szam1 < szam2 && szam1 < szam3) legkisebb = szam1
És ezt implementáld mindegyikre
Teljesen rossz elképzelés, valami random kezdőértékkel hasonlítgatni.
A három értéket hasonlítsd össze, nem kell egy negyedik.
Gyerekek, azért ez egy elég egyszerű feladat :D
#2 javaslom teszteld az ötleted szam1=szam2=szam3 esetben :)
Ennyi lenne a történet:
if(szam1<szam2)
{
>>if(szam1<szam3)
>>>>legkisebb=szam1;
>>else
>>>>legkisebb=szam3
}
else if (szam2 < szam3)
>>legkisebb=szam2;
else
>>legkisebb=szam3;
Így pontosan 2 összehasonlítást végzünk, egyetlen értékadással.
Jó, én is hülye vagyok ám, bocsánat :D
maradjunk a jól bevált módszernél, legkisebb=szam1, aztán a többi marad ahogy a kérdező írta :D
Nem kell túlbonyolítani, már többen is leírták:
legkisebb = szam1;
if (szam2 < legkisebb) legkisebb = szam2;
if (szam3 < legkisebb) legkisebb = szam3;
if(szam1 > szam2) legkisebb = (szam2 > szam3) ? szam3 : szam2;
else legkisebb = (szam1 > szam3) ? szam3 : szam1;
vagy
legkisebb = Math.min(Math.min(szam1,szam2),szam3);
Jó, hát ezzel az erővel így is lehet, hamár cifrázzuk jobbra-balra:
System.out.println(Collections.min(Arrays.asList(szam1, szam2, szam3)));
Meg így is, ez még cifrább:
List<Integer> lista = Arrays.asList(szam1, szam2, szam3);
Collections.sort(lista);
System.out.println(lista.get(0));
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!