Taulukko takaperin

mikä vikana??

Osaiskos joku kellä on tarkka silmä, niin hoksata mikä ko. koodissa on vikana (se siis toimii oikein tuohon saakka, kun aletaan tulostaa taulukkoa takaperin...):

import java.util.Scanner;
public class KäänteisetLuvut
{
   public static void main(String[] args)
   {
   int luvut;
   int x;
   
   Scanner lukija = new Scanner(System.in);
   System.out.print("Kuinka monta liukulukua haluat antaa: ");
   luvut = lukija.nextInt();
   float [] iTaulukko = new float[luvut];
      for(x=1; x= 0; --arvo)
   {
   System.out.println(iTaulukko[arvo]);
   }
   }
}

14

812

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • aksjda

      for(x=0; x

    • Jooh.

      for int i = Taulukko.length(); i > -1 ; i--

      • ei toimi...

        Molemmissa saan saman virheilmoituksen kuin omassa ratkaisussani:
        Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException:

        Kuitenkin olen onnistunut tuon virheilmotoiuksen ohittamaan jos määrittelen taulukon kooksi etukäteen esim. 100.... mutta jos taulukon koko on tuo kuinka monta lukua syötetään, niin silloin tuo ei toimi kuin tuohon takaperin osuuteen asti.


      • vielä...
        ei toimi... kirjoitti:

        Molemmissa saan saman virheilmoituksen kuin omassa ratkaisussani:
        Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException:

        Kuitenkin olen onnistunut tuon virheilmotoiuksen ohittamaan jos määrittelen taulukon kooksi etukäteen esim. 100.... mutta jos taulukon koko on tuo kuinka monta lukua syötetään, niin silloin tuo ei toimi kuin tuohon takaperin osuuteen asti.

        Eli ei se kyllä enään toimi tuollakaan, että määrittelee taulukon kooksi 100...


      • not!
        vielä... kirjoitti:

        Eli ei se kyllä enään toimi tuollakaan, että määrittelee taulukon kooksi 100...

        import java.util.Scanner;
        public class KäänteisetLuvut
        {
        public static void main(String[] args)
        {
        int luvut;
        int x;

        Scanner lukija = new Scanner(System.in);
        System.out.print("Kuinka monta liukulukua haluat antaa: ");
        luvut = lukija.nextInt();
        float [] iTaulukko = new float[luvut];
        for(x=0; x= 0; arvo--)
        {
        System.out.println(iTaulukko[arvo]);
        }
        }
        }


      • itse aloittaja
        not! kirjoitti:

        import java.util.Scanner;
        public class KäänteisetLuvut
        {
        public static void main(String[] args)
        {
        int luvut;
        int x;

        Scanner lukija = new Scanner(System.in);
        System.out.print("Kuinka monta liukulukua haluat antaa: ");
        luvut = lukija.nextInt();
        float [] iTaulukko = new float[luvut];
        for(x=0; x= 0; arvo--)
        {
        System.out.println(iTaulukko[arvo]);
        }
        }
        }

        Samaa virheilmoa pukkaa..


      • I.Proqatlis
        itse aloittaja kirjoitti:

        Samaa virheilmoa pukkaa..

        Testasin tuon lähinnä yllä olevan koodin, ja se toimii lukuunottamatta sitä, että pyydettävän luvun edessä on väärä järjestysnumero.

        Miten sinä voit väittää, ettei se toimi? Ohjelmassa on siis rivi:

        for(x=0; x


      • aloittaja...
        I.Proqatlis kirjoitti:

        Testasin tuon lähinnä yllä olevan koodin, ja se toimii lukuunottamatta sitä, että pyydettävän luvun edessä on väärä järjestysnumero.

        Miten sinä voit väittää, ettei se toimi? Ohjelmassa on siis rivi:

        for(x=0; x

        Eli siis ei ole minulla ainakaan väärä järjestysnumero, ohjelma toimii hyvin siihen saakka, kun pitäisi tulostaa taulukon arvot takaperin.

        Siinä vaiheessa tulee virheilmoitus:
        Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException...


      • olet tehnyt
        aloittaja... kirjoitti:

        Eli siis ei ole minulla ainakaan väärä järjestysnumero, ohjelma toimii hyvin siihen saakka, kun pitäisi tulostaa taulukon arvot takaperin.

        Siinä vaiheessa tulee virheilmoitus:
        Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException...

        kopsaa kokonaisuudessaan vaikka tuo edellinen ja älä mene itse sähläämään siihen. Ei voi heittää arrayindexoutofboundsia koska lukuja käsitellään 0 ja taulukon koon väliltä.


      • mutta...
        olet tehnyt kirjoitti:

        kopsaa kokonaisuudessaan vaikka tuo edellinen ja älä mene itse sähläämään siihen. Ei voi heittää arrayindexoutofboundsia koska lukuja käsitellään 0 ja taulukon koon väliltä.

        Siinä oli se vika, että indeksi alkoi 0:sta. Eli Anna 0. luku, Anna 1.luku.. muuten siis toimi.

        Sitten korjasin tuon, että se menee niin kuin pitää eli Anna 1.luku, Anna 2. luku jne. niin silloin ei toimikkaan enää ja tulee tuo virheilmoitus.

        Koodi tässä:
        import java.util.Scanner;
        public class KäänteisetLuvut
        {
        public static void main(String[] args)
        {
        int luvut;
        int x;

        Scanner lukija = new Scanner(System.in);
        System.out.print("Kuinka monta liukulukua haluat antaa: ");
        luvut = lukija.nextInt();
        float [] iTaulukko = new float[luvut];
        for(x=1; x= 0; arvo--)
        {
        System.out.println(iTaulukko[arvo]);
        }
        }
        }


      • vinkinheittäjä
        mutta... kirjoitti:

        Siinä oli se vika, että indeksi alkoi 0:sta. Eli Anna 0. luku, Anna 1.luku.. muuten siis toimi.

        Sitten korjasin tuon, että se menee niin kuin pitää eli Anna 1.luku, Anna 2. luku jne. niin silloin ei toimikkaan enää ja tulee tuo virheilmoitus.

        Koodi tässä:
        import java.util.Scanner;
        public class KäänteisetLuvut
        {
        public static void main(String[] args)
        {
        int luvut;
        int x;

        Scanner lukija = new Scanner(System.in);
        System.out.print("Kuinka monta liukulukua haluat antaa: ");
        luvut = lukija.nextInt();
        float [] iTaulukko = new float[luvut];
        for(x=1; x= 0; arvo--)
        {
        System.out.println(iTaulukko[arvo]);
        }
        }
        }

        System.out.print("Anna " (x 1) ". luku: "); ?


      • I.Proqatlis
        mutta... kirjoitti:

        Siinä oli se vika, että indeksi alkoi 0:sta. Eli Anna 0. luku, Anna 1.luku.. muuten siis toimi.

        Sitten korjasin tuon, että se menee niin kuin pitää eli Anna 1.luku, Anna 2. luku jne. niin silloin ei toimikkaan enää ja tulee tuo virheilmoitus.

        Koodi tässä:
        import java.util.Scanner;
        public class KäänteisetLuvut
        {
        public static void main(String[] args)
        {
        int luvut;
        int x;

        Scanner lukija = new Scanner(System.in);
        System.out.print("Kuinka monta liukulukua haluat antaa: ");
        luvut = lukija.nextInt();
        float [] iTaulukko = new float[luvut];
        for(x=1; x= 0; arvo--)
        {
        System.out.println(iTaulukko[arvo]);
        }
        }
        }

        Ohjelmasi kaatuu, kun se yrittää tallettaa viimeistä lukua taulukkoon - eikä alkaessaan tulostaa taulukon sisältöä.

        Sinä käytät x:ää sekä juoksunumerona että taulukon indeksinä. Jos näin tehdään, niin pitää huomata, että jos käsitellään lukua numero x, niin taulukkoon se viedäänkin indeksille x-1.

        Seuraava pieni korjaus auttaa. Vähennä x:stä 1, kun talletat luvun taulukkoon!


        for(x=1; x


      • ei vakioja indekseihin
        I.Proqatlis kirjoitti:

        Ohjelmasi kaatuu, kun se yrittää tallettaa viimeistä lukua taulukkoon - eikä alkaessaan tulostaa taulukon sisältöä.

        Sinä käytät x:ää sekä juoksunumerona että taulukon indeksinä. Jos näin tehdään, niin pitää huomata, että jos käsitellään lukua numero x, niin taulukkoon se viedäänkin indeksille x-1.

        Seuraava pieni korjaus auttaa. Vähennä x:stä 1, kun talletat luvun taulukkoon!


        for(x=1; x

        indeksit kannattaa pitää aina mahdollisimman "puhtaina", eli loopit yms. aloitetaan nollasta kun käsitellään alkiodataa


      • aloittaja...
        I.Proqatlis kirjoitti:

        Ohjelmasi kaatuu, kun se yrittää tallettaa viimeistä lukua taulukkoon - eikä alkaessaan tulostaa taulukon sisältöä.

        Sinä käytät x:ää sekä juoksunumerona että taulukon indeksinä. Jos näin tehdään, niin pitää huomata, että jos käsitellään lukua numero x, niin taulukkoon se viedäänkin indeksille x-1.

        Seuraava pieni korjaus auttaa. Vähennä x:stä 1, kun talletat luvun taulukkoon!


        for(x=1; x

        Tuollahan se tosiaan lähti toimimaan =)


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

    Luetuimmat keskustelut

    1. Vain vasemmistolaiset rakennemuutokset pelastavat Suomen

      Kansaa on ankeutettu viimeiset 30+ vuotta porvarillisella minäminä-talouspolitiikalla, jossa tavalliselta kansalta on ot
      Maailman menoa
      40
      3450
    2. Persut huutaa taas: "kato! muslimi!"

      Persut on lyhyessä ajassa ajaneet läpi kaksi työntekijöiden oikeuksien heikennystä, joita se on aiemmin vastustanut. Pe
      Maailman menoa
      13
      2838
    3. Menen nyt koisimaan

      Ja en ehkä palaa tänne. Asia on nyt loppuunkäsitelty ja totuus tuli ilmi
      Ikävä
      28
      2514
    4. Olisiko sinulla

      Jonossa vaihtoehtoja, ehkä
      Ikävä
      42
      1967
    5. Haluaisin rakastaa sinua

      Ja olla sinulle se oikea... Rakastan sinua 💗💗💗
      Ikävä
      15
      1823
    6. Pieni galluppi

      Mitäs lahjaa odotat joulupukilta.
      Ikävä
      53
      1799
    7. onko kaivattusi

      vaarallinen? :D
      Ikävä
      46
      1714
    8. KL: Mari Hynynen avoimena - Jouni-rakkaan ja Joel-pojan välit ovat nämä!

      Mari Hynynen (ent. Perankoski) on naimisissa Jouni Hynysen kanssa. Marilla on edellisestä liitosta yksi lapsi, Joel Vola
      Suomalaiset julkkikset
      10
      1478
    9. Oletko uhriutuja?

      vaikka itse olet rääkännyt toista ja aiheuttanut ties mitä toiselle.
      Tunteet
      55
      1463
    10. Missikohu edustaa nykyajan monimuotoisuutta

      Puolesta vai vastaan, saako esittää pilkkaavasti jonkun toisen ihmisen syntyperäisiä ominaisuuksia? Kadulla vastaan tule
      Sinkut
      265
      1173
    Aihe