desimaaleja lisää

java-semiosaaja

terppa.

Vastaus on varmasti helppo mutta näin aloittelijana en ole saanut ohjelmaa toimimaan oikein ja siten en ole saanut oikeaa koodinpätkää aikaiseksi. Eli pitäisi jakaa kaksi lukua keskenään, missä tuloksessa pitäisi olla desimaalin jälkeen 16 numeroa, eli vaikkapa 8/15 = 0.5333333333333333

ongelma on siinä että ohjelma pyytää kaksi lukuparia annettavaksi ( jaettava / jakaja) eli esim. 66/3 ja 8/15.
Ohjelmani on muutenkin yksinkertainen,yhteen-, vähennys-, kerto-, jakolasku ja jakojäännös java-ohjelma. Ensimmäisen tehtävän se päästää läpi ( 66/3) mutta toisessa laskutehävässä (8/15) herjaa kuin mikä. Doublella se pitäisi mennä....mutta.....ei :(
Mikä avuksi?

5

1439

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • foobarfoo

      public static void main(String[] args){
      String format = "%1.16g";
      double result = 8.0/15.0;
      System.out.printf(format, result);
      }
      Lisää esimerkkejä löytyy täältä: http://www.java2s.com/Tutorial/Java/0120__Development/UsingJavasprintfMethod.htm
      Tuohon ongelmaan hieman vaikea sanoa mitään, koska et kerro virheilmoitusta. Mutta kokeillaan: 66/3 = 22 joka on kokonaisluku (int tai Integer-tyyppinen), 8/15 = 0,5333.. joka on taasen Double-tyyppinen. Joten seuraavat toimivat:
      int resultInt 8/15; //tulos on 0
      double resultDouble = 8.0/15.0; //tulos on 0,5333...
      eli jos käytät double-tyyppistä tulosta, täytyy jaettavan ja/tai jakajan olla double-tyyppinen.

      • java-semiosaaja

        pätkäni on seuraavanlainen

        import java.io.*;

        public class Lasku
        {

        public static void main(String[] args) {

        int luku1;
        int luku2;
        int summa;
        int erotus;
        int tulo;
        double osamaara;
        int jakojaannos;

        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));


        try {

        System.out.println("Syötä ensimmäinen kokonaisluku : ");
        luku1 = Integer.parseInt(in.readLine());

        System.out.println("Syötä toinen kokonaisluku : ");
        luku2 = Integer.parseInt(in.readLine());

        summa = luku1 luku2;
        System.out.println(" " luku1 " " luku2 " = " summa);
        erotus = luku1 - luku2;
        System.out.println(" " luku1 " - " luku2 " = " erotus);
        tulo = luku1 * luku2;
        System.out.println(" " luku1 " * " luku2 " = " tulo);
        osamaara = luku1 / luku2;
        System.out.println(" " luku1 " / " luku2 " = " osamaara);
        jakojaannos = luku1 % luku2;
        System.out.println("Jakojäännös : " jakojaannos);

        } catch(Exception e) {
        System.out.println("Antamasi syöte oli virheellinen...");
        }




        }
        }


        Eli mihin antamasi vinkki pitäisi sijoittaa :o


      • ...
        java-semiosaaja kirjoitti:

        pätkäni on seuraavanlainen

        import java.io.*;

        public class Lasku
        {

        public static void main(String[] args) {

        int luku1;
        int luku2;
        int summa;
        int erotus;
        int tulo;
        double osamaara;
        int jakojaannos;

        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));


        try {

        System.out.println("Syötä ensimmäinen kokonaisluku : ");
        luku1 = Integer.parseInt(in.readLine());

        System.out.println("Syötä toinen kokonaisluku : ");
        luku2 = Integer.parseInt(in.readLine());

        summa = luku1 luku2;
        System.out.println(" " luku1 " " luku2 " = " summa);
        erotus = luku1 - luku2;
        System.out.println(" " luku1 " - " luku2 " = " erotus);
        tulo = luku1 * luku2;
        System.out.println(" " luku1 " * " luku2 " = " tulo);
        osamaara = luku1 / luku2;
        System.out.println(" " luku1 " / " luku2 " = " osamaara);
        jakojaannos = luku1 % luku2;
        System.out.println("Jakojäännös : " jakojaannos);

        } catch(Exception e) {
        System.out.println("Antamasi syöte oli virheellinen...");
        }




        }
        }


        Eli mihin antamasi vinkki pitäisi sijoittaa :o

        println -> printf


      • foobarfoo
        java-semiosaaja kirjoitti:

        pätkäni on seuraavanlainen

        import java.io.*;

        public class Lasku
        {

        public static void main(String[] args) {

        int luku1;
        int luku2;
        int summa;
        int erotus;
        int tulo;
        double osamaara;
        int jakojaannos;

        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));


        try {

        System.out.println("Syötä ensimmäinen kokonaisluku : ");
        luku1 = Integer.parseInt(in.readLine());

        System.out.println("Syötä toinen kokonaisluku : ");
        luku2 = Integer.parseInt(in.readLine());

        summa = luku1 luku2;
        System.out.println(" " luku1 " " luku2 " = " summa);
        erotus = luku1 - luku2;
        System.out.println(" " luku1 " - " luku2 " = " erotus);
        tulo = luku1 * luku2;
        System.out.println(" " luku1 " * " luku2 " = " tulo);
        osamaara = luku1 / luku2;
        System.out.println(" " luku1 " / " luku2 " = " osamaara);
        jakojaannos = luku1 % luku2;
        System.out.println("Jakojäännös : " jakojaannos);

        } catch(Exception e) {
        System.out.println("Antamasi syöte oli virheellinen...");
        }




        }
        }


        Eli mihin antamasi vinkki pitäisi sijoittaa :o

        Osamäärä tulostus printf-metodilla:

        System.out.printf(" %d \\ %d = %1.16g\n", luku1, luku2, osamaara);

        Jos muuten haluat, että tuo osamäärä tulostaa sen 0,5333.. niin laske osamäärä näin:
        osamaara = (double)luku1 / (double)luku2;

        Kotitehtäväksi jää selvittää, että mitä tuo tekee:)


      • java-semiosaaja
        foobarfoo kirjoitti:

        Osamäärä tulostus printf-metodilla:

        System.out.printf(" %d \\ %d = %1.16g\n", luku1, luku2, osamaara);

        Jos muuten haluat, että tuo osamäärä tulostaa sen 0,5333.. niin laske osamäärä näin:
        osamaara = (double)luku1 / (double)luku2;

        Kotitehtäväksi jää selvittää, että mitä tuo tekee:)

        kiitos ohjeistuksesta, sain ohjelman toimimaan!! iso kiitos! ::)


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Porvarimediat paniikissa demareiden huiman kannatuksen vuoksi

      Piti sitten keksiä "nimettömiin lähteisiin" perustuen taas joku satu. Ovat kyllä noloja, ja unohtivat sen, että vaalit
      Maailman menoa
      106
      6756
    2. KATASTROFI - Tytti Tuppurainen itse yksi pahimmista kiusaajista!!!

      STT:n lähteiden mukaan SDP:n eduskuntaryhmän puheenjohtaja Tytti Tuppurainen on käyttäytynyt toistuvasti epäasiallisesti
      Maailman menoa
      378
      6387
    3. Mikä siinä on ettei persuille leikkaukset käy?

      On esitetty leikkauksia mm. haitallisiin maataloustukiin, kuin myös muihin yritystukiin. Säästöjä saataisiin lisäksi lei
      Maailman menoa
      61
      3198
    4. 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
      113
      2689
    5. Juuri nyt! Tytti Tuppurainen on käyttäytynyt toistuvasti epäasiallisesti

      Ai että mä nautin, Tytti erot vireille! "Käytös on kohdistunut avustajia ja toisia kansanedustajia kohtaan, uutisoi STT
      Maailman menoa
      108
      2330
    6. Onko kaivattusi

      liian vetovoimainen seksuaalisesti?
      Ikävä
      125
      1824
    7. Puolen vuoden koeaika

      Voisi toimia meillä. Ensin pitäis selvittää "vaatimukset" puolin ja toisin, ennen kuin mitään aloittaa. Ja matalalla pro
      Ikävä
      20
      1677
    8. 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
      34
      1495
    9. Tytti Tuppurainen nöyryyttää avustajiaan

      Tytti Tuppurainen nöyryyttää SDP:n eduskuntaryhmän kokouksissa sekä avustajia että kansanedustajia. Hän nolaa ihmisiä ju
      Kotimaiset julkkisjuorut
      182
      1357
    10. On todella hassua

      Ajatella että pitäisit erityisen kuumana tai seksikkäänä?
      Ikävä
      74
      1247
    Aihe