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
563
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
Veroaste on Suomessa viitisen prosenttiyksikköä liian matala
Veropohjaa on rapautettu käytännössä koko kulunut vuosituhat, jonka vuoksi valtion menoja on jouduttu rahoittamaan velka1203028EU 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-rahoje351415- 1041269
Kristillinen kaste annetaa upotuskasteena
Kristillinen upotuskaste perustuu juutalaiseen mikve-kasteeseen, jossa upottaudutaan veden alle kokonaan. Paavali vertas1621027Koko kansan kaste Punaisen meren ylityksen aikana
Koko Israelin 2,5 milj.kansa sai kasteen ja Pyhän Hengen lahjan ylittäessän Punaisen meren. 1.Kor.10 1 Sillä minä en ta3661017Empaattisuus ja suoruus.
Tässä tullut noita pehmeitä asioita pohdittua, mutta toisaalta olen myös yksinkertainen mies. Pidän suoruudestakin. Mi133998- 60937
- 41737
Sä saat mut tuntemaan
Jotain sellaista mitä ei saisi tuntea mutta må en mahda tälle mitään. Mulla on ikävä niitä meidän katseita ja sitä tunne22723Tunnettujen vanhempien lapset, tv-sarja
Tunnettujen vanhempien lapset saa tv-sarjan. Juurihan yksi heistä oli MTV:ssä 6.5.26 kertomassa ettei halua julkisuutta112681