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
525
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
Useita puukotettu Tampereella
Mikäs homma tämä nyt taas on? "Useaa henkilöä on puukotettu Tampereen keskustassa kauppakeskus Ratinan lähistöllä." ht1432679Asiakas iski kaupassa varastelua tehneen kanveesiin.
https://www.iltalehti.fi/kotimaa/a/33a85463-e4d5-45ed-8014-db51fe8079ec Oikein. Näin sitä pitää. Kyllä kaupoissa valtava3611984- 401717
Kuka rääkkää eläimiä Puolangalla?
Poliisi ampui toistakymmentä nälkiintynyttä eläintä Puolangalla Tilalta oli ollut karkuteillä lähes viisikymmentä nälkii331584Meneeköhän sulla
oikeasti pinnan alla yhtä huonosti kuin mulla? Tai yhtä huonosti mutta jollain eri tyylillä? Ei olisi pitänyt jättää sua281360Jos ei tiedä mitä toisesta haluaa
Älä missään nimessä anna mitään merkkejä kiinnostuksesta. Ole haluamatta mitään. Täytyy ajatella toistakin. Ei kukaan em941203- 541163
Muutama kysymys ja huomio hindulaisesta kulttuurista.
Vedakirjoituksia pidetään historiallisina teksteinä, ei siis "julistuksena" kuten esimerkiksi Raamattua, vaan kuten koul327937Jumala puhui minulle
Hän kertoi sinusta asioita, joiden takia jaksan, uskon ja luotan. Hän kuvaili sinua minulle ja pakahduin onnesta kuulles110928Annan meille mahdollisuuden
Olen avoimin mielin ja katson miten asiat etenevät. Mutta tällä kertaa sun on tehtävä eka siirto.Sen jälkeen olen täysil53772