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

831

    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. Veroaste on Suomessa viitisen prosenttiyksikköä liian matala

      Veropohjaa on rapautettu käytännössä koko kulunut vuosituhat, jonka vuoksi valtion menoja on jouduttu rahoittamaan velka
      Maailman menoa
      70
      2447
    2. Tiedän satavarmasti ettet tule koskaan

      Uskaltamaan mitään. Ei me tulla edes näkemään koskaan.
      Ikävä
      67
      1425
    3. Kyläkauppias ajoi kännissä töistä kotiin

      Ei edes kallis auto estä humalassa ajamista, vaikka luulisi alkolukko olevan sellaisessa jo vakiovarusteena. https://ww
      Maailman menoa
      80
      1283
    4. EU komissio - EU-elpymisrahoja voidaan käyttää TILAPÄISESTI väärin!

      Espanja ohjasi miljardeja euroja – Nyt EU-komissio teki yllättävän paljastuksen Skandaaliksi noussut Espanjan EU-rahoje
      Maailman menoa
      11
      1182
    5. Miks me oikein

      Rakastuttiin vaikka kaikki on mahdotonta?
      Ikävä
      79
      885
    6. Kiitos upeasta palvelusta kukkamyyjä

      Kiitos sinulle upea kaunis kukkamyyjä Kuhmon torilla 🌹 Upea iloinen asenteesi ja kaunis hymysi pelasti päiväni ❤️ Jäi
      Kuhmo
      19
      880
    7. Nainen, mikset lähetä

      miehelle viestiä? Tiedän, että sulla on asiaa ja kysyttävää.
      Ikävä
      54
      763
    8. Ratikka Turkuun

      Ei hyvä. Ja syy on siinä , kukaan ei osaa suunnitella oikeaa reittiä. Pitää huomioide, kiskoja sijaintia ei voi muutta
      Turku
      98
      736
    9. Miehet trikoissaan

      On se kauhian näkköistä, kun miehet tiukossa trikkoissa juoksentelloo ja mulukku paestaa trikkoijjen läpi. Kahtokkee pe
      Suomussalmi
      28
      722
    10. Rakastan sinua

      Yhä.
      Ikävä
      30
      686
    Aihe