Eli miten saan palautettua aliohjelman tuotoksia esimerkiksi seuraavanlaisessa tapauksessa:
Aliohjelma:
"laskee lukujen summan ja palauttaa"
Pääohjelma:
summaa = yhteenLasku(a,b)
summaa1= yhteenLasku(a,c)
summaa2= yhteenLasku(b,c)
Eli tietääkseni aliohjelma voi palauttaa vain yhden arvon. Nyt minulla siis lukee aliohjelmassa return summaa;, niin miten saan toimimaan niin että palautaa myös summaa1 ja summaa2?
Aliohjelmista
3
450
Vastaukset 3
- summaa1 ja summaa2
globaaleiksi muuttujiksi.
- fidel1
> miten saan toimimaan niin että palautaa myös
> summaa1 ja summaa2?
Kuten sanoit, metodeista (oikea nimi, ei aliohjelma) voi palauttaa vain yhden arvon. Arvo voi olla perustietotyyppien lisäksi taulukko tai olio. Eli varmaan helpoin ratkaista kyseinen ongelma on palauttaa kaikki luvut taulukossa, esim. näin (jos luvut ovat kokonaislukuja..)
return new int[] { summaa, summaa1, summaa2 };
Tai sitten voi luoda oman luokan, jossa on kolme instanssimuuttujaa. Luot luokasta instanssin, talletat halutut arvot luokan instanssimuuttujiin ja palautat instanssin. - dx2
Oletko varma ettet halua metodia
public int yhteenLasku(int a, int b) {
return a b;
}
jolloin sitä voi kutsua vaikka näin:
int summaa, summaa1, summaa2;
summaa = yhteenLasku(a,b);
summaa1= yhteenLasku(a,c);
summaa2= yhteenLasku(b,c);
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
- 901328
- 45677
- 20639
- 51582
- 46569
Sinisilmäiselle tutulle miehelle
Iltaisin ikävä pahenee ja olet usein mielessä. Toivon merkitseväni sinulle paljon. On ihan hirveän vaikeaa miettiä, mit38549- 70541
Nainen ... ala olemaan miehille täysin hyödytön
Otsikossa on paras neuvo jokaiselle naiselle, jonka hän voi koskaan saada. Moni mieshän ajattelee jo nyt, että naiset o132538- 41512
Ylen typerät rinnastukset.
Näin YLE…..Saksassa ei ole äärioikeisto ollut vallassa sitten Hitlerin . YLEn toimittajille tiedoksi . Hitler oli Saksan176478