anna 3 lukua, tulosta suurin tai pienin käyttäjän valinnan mukaan, yksinkertainen tehtävä mutta en vain saa sitä toimimaan. onko mahdollista toteuttaa else if rakenteella, kaikki neuvot otetaan vastaan.
anna 3 lukua, tulosta suurin tai pienin, miten?
ViikonKoodannutSäkki
31917
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 3
Vanhimmat
Jos luvut on muuttujissa a,b,c niin tee vaan vertailu että onko a suurempi kuin b ja c, jos ei niin jne...:
int suurin = (a>=b && a>=c ? a : (b>=a && b>=c ? b : c));
Pienin luku samaan malliin, suuruusmerkit vaan toisinpäin.
Toinen tapa, joka toimii 3:n luvun lisäksi aivan yhtä hyvin n luvulle on lukujen laittaminen taulukkoon tai muuhun sopivaan tietorakenteeseen (esim. Vector tai List) ja sitten sorttaamalla rakenteen. Sorttaussuunnasta riippuen pienin on ensimmäinen elementti ja suurin viimeinen, tai toisinpäin.
Scanner input = new Scanner(System.in);
int number1;
int number2;
int number3;
int sum;
if (number1 number2) && (number2 < number3))
System.out.printf("smallest number is: %d \n", number2);
else
System.out.printf("smallest number is: %d \n", number3);
if (number1 > number2)
System.out.printf("largest number is: %d \n", number1);
else if ((number1 < number2) && (number2 > number3))
System.out.printf("largest number is: %d \n", number2);
else
System.out.printf("largest number is: %d \n", number3);