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

1375

    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. Klaukkalan onnettomuus 4.4

      Klaukkalassa oli tänään se kolmen nuoren naisen onnettomuus, onko kellään mitään tietoa mitä kävi tai ketä onnettomuudes
      Nurmijärvi
      115
      5323
    2. Yleltä tyrmäävä uutinen

      Ylen uutisen mukaan Raamattu on keksitty n. 2600. Putoaako kristinuskolta pohja kokonaan alta pois? https://yle.fi/a/74
      Luterilaisuus
      437
      1679
    3. Missä mustasusi on?

      Suden aloituksia ei ole näkynyt moneen päivään.
      Ikävä
      200
      1193
    4. Pakko kertoa mies

      Äitini tietää, että olen ihastunut sinuun. 😳 halusin että hän näkisi sinun kuvan ja pyysin googlaamaan sinua. Kommentti
      Ikävä
      111
      1153
    5. Riitta-Liisa ja Toni Roponen: Ero! Riitta-Liisa Roponen kertoo asiasta Instagramissa.

      Riitta-Liisa ja Toni Roponen eroavat. Riitta-Liisa Roponen kertoo asiasta Instagramissa. – Talvi on ollut elämäni synk
      Maailman menoa
      20
      1139
    6. Sinä vain tulit elämääni

      Ja joku tarkoitus sillä on ollut. Näyttämään mitä olen ja kuinka arvokas voisin olla. Se muutti ja käänsi elämäni suunna
      Ikävä
      86
      1040
    7. Millaisia ajatuksia on kaivatusta ja tilanteestanne tänään?

      Kerro omista mietteistäsi tai lähetä terveisiä. Ehkä hän lukee ja lähettää sinulle takaisin omia mietteitään.
      Ikävä
      47
      941
    8. Miten koskettaisit häntä?

      Miten lähestyisit jos hän olisi lähelläsi nyt..
      Ikävä
      64
      941
    9. Mitä ajattelet

      Kaivattusi uskosta tai onko hän uskossa?
      Ikävä
      64
      896
    10. Onko se niin

      Että meillä molemmilla on niin isot egot ettei voi alentua myöntämään kuin tykkää toisesta
      Ikävä
      64
      846
    Aihe