Kysymys

ohjelmoija?

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.

4

539

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • 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

    1. Lääppijä Lindtman jäi kiinni itse teosta

      Lindtman kyselemättä ja epäasiallisesti koskettelee viestintäpäällikköä. https://www.is.fi/politiikka/art-2000011780852
      Maailman menoa
      190
      4204
    2. Huomaatteko Demari Tytti ei esitä pahoitteluitaan

      Samanlainen ilmeisesti kuin Marin eli Uhriutuu no he ovat Demareita ja muiden yläpuolella siis omasta mielestään
      Maailman menoa
      84
      3295
    3. Vedonlyöntiä .

      Olen valmis lyömään ison vedon , että homma kaatuu . Jos kerta Sivonen ei lähde mukaan , niin ei tuoho usko kukaan muuka
      Ähtäri
      24
      2466
    4. Turvaan 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äv
      Maailman menoa
      58
      2238
    5. Mikä on pahinta, mitä kaivatullesi

      pelkäät tapahtuvan? Jos kuolemaa, vakavia sairauksia yms. ei lasketa?
      Ikävä
      89
      2095
    6. TUNNISTELAATIKKO

      Tähän ketjuun voi laittaa yhdellä tai kahdella lauseella (tai vaikka yhdellä sanalla) täydellisen tunnisteen, jonka vain
      Ikävä
      85
      1381
    7. Tykkää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ään
      Tv-sarjat
      26
      1290
    8. Minkä tunteen tunnet

      juuri nyt? ap kiitollisuuden.
      Tunteet
      40
      1280
    9. Zoo jatkaa - jatkuuko mustamaalaus?

      Tänään on päätetty Zoon avaamisesta uudelleen. Mielenkiintoista nähdä kautokurujen reaktio, nyt kun kyse ei ole kunnalli
      Ähtäri
      66
      1167
    10. Valehdella saa, totuus salataan

      Vaikuttaa vähän siltä, että sensuuria toteutetaan juorupalstallakin. Asioita saa kaunistella ja vääristellä, mutta totuu
      Savonlinna
      10
      788
    Aihe