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();
}
}
Miksi tämä kokonaisuus ei toimi?
6
481
Vastaukset
- 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
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 kohta781795Tietysti jokainen ansaitsee
Hän varmasti ansaitsee vain parasta ja sopivinta tietenkin, suon sen onnen hänelle enemmän kuin mielelläni. Aika on nyt181689- 161504
50+ naiset kyl
Lemottaa sillille mut myös niitte kaka lemottaa pahlle ku kävin naiste veskis nuuhiin191193En 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 toisee121184Vä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 aiv61172hieman diabetes...
Kävin eilen kaverin kanssa keskusapteekissa kun on muutama kuukausi sitten tullut suomesta ja oli diabetes insuliinit lo121136Annetaanko olla vaan
Siinä se, tavallaan kysymys ja toteamuskin. Niin turhaa, niin rikkovaa. On niin äärettömän tärkeä, ja rakas olo.. N291121Miten 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ää61109Pakkoruotsi on leikkikieli, jota ei ole tarkoituskaan osata
Pakkoruotsi on leikkikieli. Ennen leikkikieltä sanottiin siansaksaksi, sitten keksittiin tilalle pakkoruotsi. Pakkoruot71104