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
539
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
Lääppijä Lindtman jäi kiinni itse teosta
Lindtman kyselemättä ja epäasiallisesti koskettelee viestintäpäällikköä. https://www.is.fi/politiikka/art-20000117808521904204Huomaatteko Demari Tytti ei esitä pahoitteluitaan
Samanlainen ilmeisesti kuin Marin eli Uhriutuu no he ovat Demareita ja muiden yläpuolella siis omasta mielestään843295Vedonlyöntiä .
Olen valmis lyömään ison vedon , että homma kaatuu . Jos kerta Sivonen ei lähde mukaan , niin ei tuoho usko kukaan muuka242466Turvaan tulleet lähettävät omia lapsiaan vaaraan - hullua
MOT-ohjelman jakso ”Loma vaihtui kahleisiin” kertoi, kuinka Suomessa ja muualla Euroopassa asuvat somaliperheet lähettäv582238Mikä on pahinta, mitä kaivatullesi
pelkäät tapahtuvan? Jos kuolemaa, vakavia sairauksia yms. ei lasketa?892095TUNNISTELAATIKKO
Tähän ketjuun voi laittaa yhdellä tai kahdella lauseella (tai vaikka yhdellä sanalla) täydellisen tunnisteen, jonka vain851381Tykkäätkö enemmän tavis- vai julkkiskisaajista tv:ssä?
Tykkäätkö enemmän tavis- vai julkkiskisaajista tv:ssä? Moni reality ja visailuohjelma luottaa julkkiksiin, mutta sentään261290- 401280
Zoo jatkaa - jatkuuko mustamaalaus?
Tänään on päätetty Zoon avaamisesta uudelleen. Mielenkiintoista nähdä kautokurujen reaktio, nyt kun kyse ei ole kunnalli661167Valehdella saa, totuus salataan
Vaikuttaa vähän siltä, että sensuuria toteutetaan juorupalstallakin. Asioita saa kaunistella ja vääristellä, mutta totuu10788