Kyse on ohjelmasta, jossa kysytään käyttäjältä syötteenä lukujen määrä. Nämä luvut annetaan vuorotellen, esim.
Anna lukujen määrä:
3
Anna 1. luku:
2
Anna 2. luku:
3
Anna 3. luku:
5
Miten näistä luvuista saisi maksimin ja minimin laskettua? Kun laitoin perään normaalin system.out. println-jutun, tulostuu maksimiksi ja minimiksi viimeiseksi annettu luku.
Entä miten nämä luvut saisi tulostettua yhdelle riville peräkkäin sen jälkeen kun ne on syötetty koneelle?
Ohjelma pitäisi olla main-luokassa eikä mitään muita metodeja tms.
Kysymys
4
515
Vastaukset
- tonttu
java.util.Scanner in = new java.util.Scanner(System.in);
System.out.println("Anna lukujen määrä:");
int maara = in.nextInt();
int[] luvut = new int[maara];
for(int i = 0; i < maara; i )
{
System.out.println("Anna " (i 1) ". luku:");
luvut[i] = in.nextInt();
}
int max = luvut[0];
int min = luvut[0];
for(int i = 0; i < maara; i )
{
if(max < luvut[i])
max = luvut[i];
if(min > luvut[i])
min = luvut[i];
}
System.out.print("Syötetyt luvut: ");
for(int i = 0; i < maara; i )
System.out.print(luvut[i] " ");
System.out.println();
System.out.println("Maksimi: " max);
System.out.println("Minimi: " min);- sen tehtyä
mitenkään ilman taulukkoa?
- vain kolme lukua
sen tehtyä kirjoitti:
mitenkään ilman taulukkoa?
ei tullut sulle mieleen if-else valintarakenne.
Koska lukuja on vain kolme ei ole edes vaikea tehdä. Sinullahan on nyt kolme lukua; luku1, luku2, luku3.
Vertaa niiden kokoa keskenään
if(luku1>luku2 && luku1>luku3)
suurin=luku1;
if(luku2>luku1 && luku2>luku3)
suurin=luku2;
if(luku3>luku1 && luku3>luku2)
suurin=luku3;
pienimmälle sitten toistepäin.
Ihan ok tapa jos noin vähän, mutta jos numeroita olisi paljon olisi tuolla tavalla kusessa.
Siksi valintalajittelukeinot ovat parempia.
- aksjfökjasdf
--- ESIMERKKI 1 ALKAA ---
import java.util.Scanner;
public class Esimerkki {
public static void main(String[] args) {
Scanner lukija = new Scanner(System.in);
String luvut = "";
int minimi = 0, maksimi = 0, luku = 0;
System.out.println("Anna lukujen määrä:");
int lukuja = lukija.nextInt();
for (int i = 0; i < lukuja; i ) {
System.out.println("Anna " (i 1) " luku :");
luku = lukija.nextInt();
minimi = ((i == 0) || (luku < minimi)) ? luku : minimi;
maksimi = ((i == 0) || (luku > maksimi)) ? luku : maksimi;
luvut = luku " ";
}
System.out.println("Syötit luvut: " luvut);
System.out.println("Minimi: " minimi);
System.out.println("Maksimi: " maksimi);
}
}
--- ESIMERKKI 1 LOPPUU ---
--- ESIMERKKI 2 ALKAA ---
import java.util.Scanner;
import java.util.Vector;
public class Esimerkki {
public static void main(String[] args) {
Scanner lukija = new Scanner(System.in);
Vector luvut = new Vector();
System.out.println("Anna lukujen määrä:");
int lukuja = lukija.nextInt();
for (int i = 0; i < lukuja; i ) {
System.out.println("Anna " (i 1) " luku :");
luvut.add(lukija.nextInt());
}
int minimi = 0, maksimi = 0, luku = 0;
System.out.print("Syötit luvut: ");
for (int i = 0; i < lukuja; i ) {
System.out.print((luku = luvut.get(i)) " ");
minimi = ((i == 0) || (luku < minimi)) ? luku : minimi;
maksimi = ((i == 0) || (luku > maksimi)) ? luku : maksimi;
}
System.out.println("\nMinimi: " minimi);
System.out.println("Maksimi: " maksimi);
}
}
--- ESIMERKKI 2 LOPPUU ---
--- ESIMERKKI 3 ALKAA ---
import java.util.Collections;
import java.util.Scanner;
import java.util.Vector;
public class Esimerkki {
public static void main(String[] args) {
Scanner lukija = new Scanner(System.in);
Vector luvut = new Vector();
System.out.println("Anna lukujen määrä:");
int lukuja = lukija.nextInt();
for (int i = 0; i < lukuja; i ) {
System.out.println("Anna " (i 1) " luku :");
luvut.add(lukija.nextInt());
}
System.out.print("Syötit luvut: ");
for (int i : luvut)
System.out.print(i " ");
Collections.sort(luvut);
System.out.println("\nMinimi: " luvut.firstElement());
System.out.println("Maksimi: " luvut.lastElement());
}
}
--- ESIMERKKI 3 LOPPUU ---
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
- 1586430
- 511854
Klaukkalan onnettomuus 4.4
Klaukkalassa oli tänään se kolmen nuoren naisen onnettomuus, onko kellään mitään tietoa mitä kävi tai ketä onnettomuudes441560- 541122
Ukraina ja Zelenskyn ylläpitämä sota tuhoaa Euroopan, ei Venäjä
Mutta tätä ei YLE eikä Helsingin Sanomat kerto.3261050Kolari Klaukkala
Kaksi teinityttö kuoli. Vastaantulijoille ei käynyt mitenkään. Mikä auto ja malli telineillä oli entä se toinen auto? Se48981Ooo! Kaija Koo saa kesämökille öky-rempan:jättimäinen terde, poreallas... Katso ennen-jälkeen kuvat!
Wow, nyt on Kaija Koon mökkipihalla kyllä iso muutos! Miltä näyttää, haluaisitko omalle mökillesi vaikkapa samanlaisen l13950Kevyt on olo
Tiedättekö, että olo kevenee kummasti, kun päästää turhista asioista tai ihmisistä irti! Tämä on hyvä näin <384908Olisinpa jo siellä, otatkohan minut vastaan
Olisitpa lähelläni ja antaisit minun maalata sinulle kuvaa siitä kaikesta ikävästä, tuskasta, epävarmuudesta ja mieleni79908Toivoisin, että lähentyisit kanssani
Tänään koin, että välillämme oli enemmän. Kummatkin katsoivat pidempään kuin tavallisesti toista silmiin. En tiedä mistä14887