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
538
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
Sanna Marin kysyi hämmästyneenä: Onko Suomessa jäänmurtajia?
Nettilehden toimittaja kysyi Sanna Marinilta suoraan, että sovittiinko nuo jäänmurtajien kaupat jo 2019, jolloin Marin k744026- 1013555
SDP haluaa 40 000 nettomaahanmuuttajaa
SDP:n Suunnanmuutos-vaihtoehtobudjetissa, käy ilmi, että demarit itse asiassa vaativat räjähdysmäistä ”työperäisen” maah823378Mikä tuota vasemmistolaisista jankkaavaa vaivaa?
Pahasti on ihon alle, siis korvien väliin, päässeet kummittelemaan. Ei ole terveen ihmisen merkki jankata yhdestä asia382789- 1251673
Nyt meni lopulliset lämmöt.
Alan käyttäytymään yhtä kylmästi miehiä kohtaan kuin mua kohtaan on käyttäydytty ja vain käytetty viimeiset pari vuotta361536Sulla on avaimet ja keinot
Jos haluat jatkaa tutustumista. Itse olen niin jäässä etten pysty tekemään enää mitään. Pidempi keppi johon on helpompi191164Meitä ei tule
Koska periaatteemme ovat rakkautta vahvempia. Tämä on siis koettelemus, jonka tarkoitus on vahvistaa meitä yksilöinä 😌221134Orpo loukkaantui fasismiin viittaavasta sanavalinnasta
Mutta miksi loukkaantui? Orpohan on tehnyt yhteistyötä fasistien kanssa jo vuonna 2019, siis jo neljä vuotta ennen loukk141121Onko erityinen paikka jossa haluaisit nyt olla
Onko joku spesiaali lempipaikka missä mieluiten olisit?421120