Kezdőoldal » Számítástechnika » Programozás » Írj programot, amely bekér 3...

Í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

Figyelt kérdés

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



2016. ápr. 25. 10:50
 1/10 Camorri ***** válasza:

"If(legkisebb > szam)

Itt a hiba. A legkisebb == 0. Tehát bármely szám nagyobb lesz tőle

2016. ápr. 25. 10:57
Hasznos számodra ez a válasz?
 2/10 Camorri ***** válasza:

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

2016. ápr. 25. 11:02
Hasznos számodra ez a válasz?
 3/10 anonim ***** válasza:
100%
Az első elágazást cseréld le legkisebb=szam1 -re és kész.
2016. ápr. 25. 11:06
Hasznos számodra ez a válasz?
 4/10 anonim ***** válasza:

Teljesen rossz elképzelés, valami random kezdőértékkel hasonlítgatni.

A három értéket hasonlítsd össze, nem kell egy negyedik.

2016. ápr. 25. 11:37
Hasznos számodra ez a válasz?
 5/10 anonim ***** válasza:

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.

2016. ápr. 25. 11:54
Hasznos számodra ez a válasz?
 6/10 anonim ***** válasza:

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

2016. ápr. 25. 12:01
Hasznos számodra ez a válasz?
 7/10 anonim ***** válasza:
mondjuk ez is működni fog, ha a legkisebb változónak a legnagyobb integer kezdőértéket adod
2016. ápr. 25. 12:33
Hasznos számodra ez a válasz?
 8/10 anonim ***** válasza:

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;

2016. ápr. 25. 12:58
Hasznos számodra ez a válasz?
 9/10 anonim ***** válasza:

if(szam1 > szam2) legkisebb = (szam2 > szam3) ? szam3 : szam2;

else legkisebb = (szam1 > szam3) ? szam3 : szam1;


vagy


legkisebb = Math.min(Math.min(szam1,szam2),szam3);

2016. ápr. 25. 13:08
Hasznos számodra ez a válasz?
 10/10 anonim ***** válasza:

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

2016. ápr. 25. 13:17
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!