ongelma!

Nevokaapas viisammat miten tämä tehtäsiin Javalla:

Laiska opettaja tarvitsee ohjelman, joka selvittää eräällä tietotekniikan kurssilla annettujen numeroiden jakautuman ts. kuinka monta nelosta, vitosta, jne. Kurssinumerot syötetään kokonaislukutaulukkoon. Taulukon kooksi määritellään 40 alkiota. Ohjelma tarkistaa, että syötetty numero on välillä 4-10 ja, ettei taulukon kokoa ylitetä. Numeroiden syöttäminen lopetetaan lopetusmerkillä 0 (lue: nolla). Ohjelma kertoo tulosteessa, kuinka monta numeroa taitamaton opettajan on antanut. Numerojakaumassa tähti edustaa aina yhtä numeroa.
Tähden tulostaminen suoritetaan funktion avulla. Funktiolle annetaan tulostettavien tähtien lukumäärä. Tulostulauseella System.out.print("*"); voit tulostaa tähden ilman rivinvaihtoa.

Annoit 20 numeroa.
Numerojakauma:
4: *
5: **
6: ***
7: ***
8: *********
9: ***
10:*
4412
Äänestä

Muut lukivat myös

Vastaukset 4

Vanhimmat

Et sitten jaksanut tehdä mitään muuta kuin copy-pasteta tehtävän tänne?! No eihän sitä välttämättä ohjelmointikurssin läpipääsemiseen pitäis muuta tarvitakaan kuin ctrl-c ja ctrl-v. Onneks kuitenkin kerroit että print metodilla voi tulostaa ilman rivinvaihtoa.

Onnea matkaan!

Äänestä
  • No tällaisen olen saanut aikaan mutta ei ole ihan oikein tehty....

    import java.io.*;

    class teht2{
    public static void main(String[] args) {

    int luku = 0, isumma = 0, lkm = 0;
    double dsumma, dka;

    BufferedReader syotto = new BufferedReader(new InputStreamReader(System.in));
    do
    {
    System.out.println("Syota jokaisen viikonpaivan lampotila ja keskeyta syotto antamalla luku -1.");
    try {
    String mj = syotto.readLine();
        luku = Integer.parseInt(mj);
        if (luku != -1)
        {
        lkm = lkm 1;
        isumma = isumma luku;
        }
    }
    catch (IOException poikkeus) {
    System.out.println("Virhe syötteen lukemisessa");
    }
    }while (luku!=-1);
    dsumma = isumma;

    if (lkm !=0)
    {
    dka = dsumma / lkm;
    System.out.println("Kiitos. Viikon keskilampotila on: " dka);
    }
    else
    System.out.println("Et syottanyt yhtaan lampotilaa!");



    }
    }

    Äänestä

  • kraak kirjoitti:

    No tällaisen olen saanut aikaan mutta ei ole ihan oikein tehty....

    import java.io.*;

    class teht2{
    public static void main(String[] args) {

    int luku = 0, isumma = 0, lkm = 0;
    double dsumma, dka;

    BufferedReader syotto = new BufferedReader(new InputStreamReader(System.in));
    do
    {
    System.out.println("Syota jokaisen viikonpaivan lampotila ja keskeyta syotto antamalla luku -1.");
    try {
    String mj = syotto.readLine();
        luku = Integer.parseInt(mj);
        if (luku != -1)
        {
        lkm = lkm 1;
        isumma = isumma luku;
        }
    }
    catch (IOException poikkeus) {
    System.out.println("Virhe syötteen lukemisessa");
    }
    }while (luku!=-1);
    dsumma = isumma;

    if (lkm !=0)
    {
    dka = dsumma / lkm;
    System.out.println("Kiitos. Viikon keskilampotila on: " dka);
    }
    else
    System.out.println("Et syottanyt yhtaan lampotilaa!");



    }
    }

    Eikö lämpötila siis saa olla -1, ja eikö tässä ollutkaan kysymys arvosanoista? Millä tavalla arvosanat ja lämpotilat korreloivat? Tietääkö kraak, mitä kysyy?

    Äänestä

Eihän tämä vaikea voi olla?

Eli lajittele vaikkapa toiseen taulukkoon ne arvosanat, niin että arv[0] sisältää vaikkapa nelosten lukumäärän, arv[1] viitosten, jne.

Sitten vain ajat for-silmukalla tuon taulukon indeksit läpi, jokaisesta tarkistat montako kyseistä arvosanaa on annettu, ja sen jälkeen vaikkapa toisella for-silmukalla tulostat niin monta asteriskia riville, jonka jälkeen vaihdat rivin??

Äänestä

Kommentoi aloitusta


kraak kirjoitti:

Nevokaapas viisammat miten tämä tehtäsiin Javalla:

Laiska opettaja tarvitsee ohjelman, joka selvittää eräällä tietotekniikan kurssilla annettujen numeroiden jakautuman ts. kuinka monta nelosta, vitosta, jne. Kurssinumerot syötetään kokonaislukutaulukkoon. Taulukon kooksi määritellään 40 alkiota. Ohjelma tarkistaa, että syötetty numero on välillä 4-10 ja, ettei taulukon kokoa ylitetä. Numeroiden syöttäminen lopetetaan lopetusmerkillä 0 (lue: nolla). Ohjelma kertoo tulosteessa, kuinka monta numeroa taitamaton opettajan on antanut. Numerojakaumassa tähti edustaa aina yhtä numeroa.
Tähden tulostaminen suoritetaan funktion avulla. Funktiolle annetaan tulostettavien tähtien lukumäärä. Tulostulauseella System.out.print("*"); voit tulostaa tähden ilman rivinvaihtoa.

Annoit 20 numeroa.
Numerojakauma:
4: *
5: **
6: ***
7: ***
8: *********
9: ***
10:*

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu