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
570
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
Missä kokoomuksen naiset?
Hähmäistä ukkotarinaa kuultu koko viikonloppu. Kukaan ei ole kokoomuksessa edes yrittänyt pitää naisten puolta. Jopa1353786Finland is now Petter place
Audin B-ryhmän ralliautolla saatiin kansa voimaan hyvin. Kiitos kokoomus huumoripläjäyksestä.362454Ilman Stadia Suomessa ei olisi kunnon lihajalosteita
HK, Helsingin makkaratehdas, Votkin, mitä näitä nyt onkaan. Böndellä ei ole kunnollisia jalostajia.1442108Jorma Lind kuollut
Ylen uutisankkurina 40 vuotta toiminut Jorma Lind on kuollut 85-vuotiaana. https://yle.fi/a/74-20230265 ARVl on näet171081Toivon että kuulut elämääni
Mutta aika näyttää miten läheisesti. Lupaan kertoa jossain sivulauseessa, kun muutan paikkaa.701041- 46925
Mahdatko ymmärtää sitä
Mä en selviä jollei me jutella kunnolla. Tarvitsen sua siihen. Etkä sä voi sitä tietää kun en ole ilmaissut mutta olen63886En unohda sua
En vaan unohda sua. Eikä se näköjään ole tarkoituskaan. Rakastan sua sitten omalla tavalla kauempaa kun mikään muu ei on31865- 43790
Kyllä nainenkin voi ottaa yhteyttä
Ja on ihan kiva jos ottaa yhteyttä mieheen. Minä ainakin olisin onnessani jos nainen ottaisi yhteyttä. mies97772