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

819

    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. 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
      98
      6348
    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
      355
      5865
    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
      60
      2833
    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
      107
      2268
    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
      107
      1958
    6. Onko kaivattusi

      liian vetovoimainen seksuaalisesti?
      Ikävä
      125
      1754
    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ä
      19
      1633
    8. 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
      181
      1300
    9. On todella hassua

      Ajatella että pitäisit erityisen kuumana tai seksikkäänä?
      Ikävä
      73
      1197
    10. 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
      33
      1108
    Aihe