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

481

    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. Voitasko leikkiä jotain tunnisteleikkiä?

      Tietäisi ketä täällä käy kaipaamassa.. kerro jotain mikä liittyy sinuun ja häneen eikä muut tiedä. Vastaan itsekin kohta
      Ikävä
      78
      1795
    2. Tietysti jokainen ansaitsee

      Hän varmasti ansaitsee vain parasta ja sopivinta tietenkin, suon sen onnen hänelle enemmän kuin mielelläni. Aika on nyt
      Ikävä
      18
      1689
    3. Millä voin

      Hyvittää kaiken?
      Ikävä
      16
      1504
    4. 50+ naiset kyl

      Lemottaa sillille mut myös niitte kaka lemottaa pahlle ku kävin naiste veskis nuuhiin
      Ikävä
      19
      1193
    5. En voi sille mitään

      Tulen niin pahalle tuulelle tästä paikasta nykyisin. Nähnyt ja lukenut jo kaiken ja teidän juttu on samaa illasta toisee
      Ikävä
      12
      1184
    6. Välitän sinusta mies

      Kaikki mitä yritin kertoa tänään ei mennyt ihan putkeen..Joka jäi jälkeenpäin ajateltuna suoraan sanottuna harmittaa aiv
      Työpaikkaromanssit
      6
      1172
    7. hieman diabetes...

      Kävin eilen kaverin kanssa keskusapteekissa kun on muutama kuukausi sitten tullut suomesta ja oli diabetes insuliinit lo
      Pattaya
      12
      1136
    8. Annetaanko olla vaan

      Siinä se, tavallaan kysymys ja toteamuskin. Niin turhaa, niin rikkovaa. On niin äärettömän tärkeä, ja rakas olo.. N
      Ikävä
      29
      1121
    9. Miten joku voi käyttää koko elämänsä

      siihen että nostelee täällä vanhoja ketjuja ja troIIaa niihin jotain linkkiä mitä kukaan ei avaa? Ihmisellä ei ole mitää
      Tunteet
      6
      1109
    10. Pakkoruotsi on leikkikieli, jota ei ole tarkoituskaan osata

      Pakkoruotsi on leikkikieli. Ennen leikkikieltä sanottiin siansaksaksi, sitten keksittiin tilalle pakkoruotsi. Pakkoruot
      Kielipolitiikka
      7
      1104
    Aihe