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
555
Vastaukset 4
- 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
- 901369
- 46748
Sinisilmäiselle tutulle miehelle
Iltaisin ikävä pahenee ja olet usein mielessä. Toivon merkitseväni sinulle paljon. On ihan hirveän vaikeaa miettiä, mit56673- 85661
- 20659
- 53618
- 51592
- 47591
Nainen ... ala olemaan miehille täysin hyödytön
Otsikossa on paras neuvo jokaiselle naiselle, jonka hän voi koskaan saada. Moni mieshän ajattelee jo nyt, että naiset o133587Ylen typerät rinnastukset.
Näin YLE…..Saksassa ei ole äärioikeisto ollut vallassa sitten Hitlerin . YLEn toimittajille tiedoksi . Hitler oli Saksan191557