Miksi tämä kokonaisuus ei toimi?

Java-aloittelija-123

Olen aloittelija Javan suhteen mutta osaan silti siitä jo jotain, olen lukenut Java kirjaa ja olen tekemässä kirjaan liittyvää tehtävää. Tehtävässä pyydetään tekemään sovelma jossa Yleiso olio kutsuu jokaista ihminen oliota taputtamaan, ja olen yrittänyt toteuttaa sitä tällä tavalla:

Luokka Yleiso:

public class Yleiso {

Ihminen[] YleisonJasen = new Ihminen[10];

int X = 0;
public void taputtakaa(){
for(int I = 0; I < 9; I ){
YleisonJasen[I].taputa();
}
}
}

Luokka Ihminen:

public class Ihminen {

public void taputa(){
System.out.println("Klap!");
}

}

ja testaus ohjelma luokka TaikuriTesti


public class TaikuriTesti {

public static void main(String args[]){
Yleiso ekaYleiso = new Yleiso();
ekaYleiso.taputtakaa();
}
}

6

554

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • keksa1

      Olet tuossa alussa ainoastaan varannut taulukon YleisonJasen ja kertonut, että solun koko tulee vastata luokan Ihminen kokoa. Solut ovat vielä tässä vaiheessa tyhjiä.

      taputtakaa() kaatuu siksi NullPointerExceptioniin, koska yrität tyhjästä solusta kutsua jotain metodia taputa().

      Tarvii sis alustaa taulukko esim näin:

      Ihminen[] Yleiso = new Ihminen[] {new Ihminen(), new Ihminen()};

      tai sitten vaikka for-loopissa

      for(int i=0;i

      • samainen_aloittelija

        Voi kiitos keksa1, nyt sain tämän toimimaan ja tajusin paljon uutta! : ) jäin nyt kyllä ihmettelemään alustamis taulukkoon käyttämääsi metodia, olen nähnyt sen aijemmin mutta en ymmärrä millä perjaatteella tuo tietää asettaa niiden perään numeron? :s ja miten tuon pystyy tekemään loopissa, tiedän miten looppia käytetään mutta ihankuin viestisi olisi jäänyt kesken :( kiitos vielä kerran avusta! : )


      • foobarfoo
        samainen_aloittelija kirjoitti:

        Voi kiitos keksa1, nyt sain tämän toimimaan ja tajusin paljon uutta! : ) jäin nyt kyllä ihmettelemään alustamis taulukkoon käyttämääsi metodia, olen nähnyt sen aijemmin mutta en ymmärrä millä perjaatteella tuo tietää asettaa niiden perään numeron? :s ja miten tuon pystyy tekemään loopissa, tiedän miten looppia käytetään mutta ihankuin viestisi olisi jäänyt kesken :( kiitos vielä kerran avusta! : )

        Ihminen[] yleiso = new ihminen[10]; //alustetaan taulukko kymmenelle alkiolle
        for(int indeksi = 0; indeksi < yleiso.length; indeksi ){
        Ihminen ihminen = new Ihminen(); //Luodaan uusi ihminen-olio
        yleiso[indeksi] = ihminen; //asetaan se taulukkoon indeksin osoittamalle paikalle
        }


      • foobarfoo
        samainen_aloittelija kirjoitti:

        Voi kiitos keksa1, nyt sain tämän toimimaan ja tajusin paljon uutta! : ) jäin nyt kyllä ihmettelemään alustamis taulukkoon käyttämääsi metodia, olen nähnyt sen aijemmin mutta en ymmärrä millä perjaatteella tuo tietää asettaa niiden perään numeron? :s ja miten tuon pystyy tekemään loopissa, tiedän miten looppia käytetään mutta ihankuin viestisi olisi jäänyt kesken :( kiitos vielä kerran avusta! : )

        Ihminen[] yleiso = new ihminen[10]; //alustetaan taulukko kymmenelle alkiolle
        for(int indeksi = 0; indeksi < yleiso.length; indeksi ){
        Ihminen ihminen = new Ihminen(); //Luodaan uusi ihminen-olio
        yleiso[indeksi] = ihminen; //asetaan se taulukkoo indeksin osoittamalle paikalle
        }


      • javanaloittelija4543
        foobarfoo kirjoitti:

        Ihminen[] yleiso = new ihminen[10]; //alustetaan taulukko kymmenelle alkiolle
        for(int indeksi = 0; indeksi < yleiso.length; indeksi ){
        Ihminen ihminen = new Ihminen(); //Luodaan uusi ihminen-olio
        yleiso[indeksi] = ihminen; //asetaan se taulukkoo indeksin osoittamalle paikalle
        }

        Kiitos valaisevasta vastauksesta, tuo auttoi paljon! :)


      • javaaloitteliajgfd3
        foobarfoo kirjoitti:

        Ihminen[] yleiso = new ihminen[10]; //alustetaan taulukko kymmenelle alkiolle
        for(int indeksi = 0; indeksi < yleiso.length; indeksi ){
        Ihminen ihminen = new Ihminen(); //Luodaan uusi ihminen-olio
        yleiso[indeksi] = ihminen; //asetaan se taulukkoo indeksin osoittamalle paikalle
        }

        Kiitos valaisevasta vastauksesta, tuo auttoi paljon! :)


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

    Luetuimmat keskustelut

    1. Suomalainen tutkimus paljasti oudon asian vasemmistolaisista - he häpeävät itseään

      Kyllä, asia on faktaa. Suomalainen tutkimus osoittaa, että vasemmistolaisina itseään pitävät kansalaiset häpeävät itseää
      Maailman menoa
      138
      3829
    2. Sosialismia Tampereella: Virallinen ilmiantolinja avautuu kaupungissa

      Nyt siis mennään mansessa ihan justiinsa samaan malliin kuin entisessä Neuvostoliitossa, jossa saattoi ilmiantaa naapuri
      Maailman menoa
      336
      2964
    3. Tätä et nähnyt tv:ssä: Frederik paljastaa - Totuus "haisevasta jäynästä" pehtoorille Farmilla

      Frederik veti ns. herneen nenään ja päätti kostaa pehtoorille. Mitäs mieltä olet Frederikin "aamutoimista"? Lue jutt
      Tv-sarjat
      8
      1865
    4. Ellen Jokikunnas paljastaa kyynelehtien Ralph-pojasta: "Apua..."

      Ellen Jokikunnaksen ja hänen puolisonsa Jari Raskin perheestä ja taloprojektista Italiassa kertova Unelmia Italiassa -sa
      Suomalaiset julkkikset
      5
      1598
    5. Oho! Vappu Pimiä teki "röyhkeän" teon - Onko sopivaa paljastaa tämä MasterChef-sarjasta?

      Vappu Pimiä on astunut MasterChef Suomi -keittiöön ja liittynyt ohjelman legendaariseen tuomaristoon Helena Puolakan ja
      Tv-sarjat
      4
      1079
    6. Mun kaikkialta häviäminen

      Ei liity sinuun. Muista se. ❤️ Mua kiusataan enkä mä enää jaksa.
      Ikävä
      71
      934
    7. Kaste tulisi tehdä apostolisella tavalla Ap. t. 2:38 mukaan

      Apostolit eivät kastaneet kolminaisuuden nimellä vaan Jeesuksen alkuperäisen käskyn mukaisesti: Ap. t. 2:38 Niin Pietar
      Kaste
      38
      864
    8. Onko teillä

      minkä tyyppisiä seksifantasioita kaivattunne kanssa?
      Ikävä
      44
      774
    9. Inhottaa ajatus siitä

      Miten monia olet pannut.
      Ikävä
      65
      741
    10. Kuhmossa rallit alkoi ennen aikojaan

      Paettiin polliisia törkeästi? Se tuo rallikiima on näemmä saavuttanu paikalliset tommi mäkiset kiljupäissään auton rat
      Kuhmo
      22
      708
    Aihe