Moro!
Kaipailisin apua java-probleemaani.
Tarkoitus olisi siirtää tästä joopajoosta...
public void joopajoo()
{
double yhteensa = (100 * 2.2);
}
...toi yhteensa double tänne...
public void niinniin()
{
System.out.println(yhteensa);
}
...kun molemmat ovat samassa luokassa.
Eli suomeksi: voiko luokan sisällä siirtää tietoa funktiosta toiseen funktioon?
Kaipailisin apua java-probleemaani.
Tarkoitus olisi siirtää tästä joopajoosta...
public void joopajoo()
{
double yhteensa = (100 * 2.2);
}
...toi yhteensa double tänne...
public void niinniin()
{
System.out.println(yhteensa);
}
...kun molemmat ovat samassa luokassa.
Eli suomeksi: voiko luokan sisällä siirtää tietoa funktiosta toiseen funktioon?
Vastaukset 5
Vanhimmat
Muuttujan määrittely funktion sisällä tekee siitä automaattisesti paikallisen eikä sen näkyvyysalue yllä sitä kauemmas jos et erikseen sitä mainitse esittelyssä. Sensijaan funktioiden ulkopuolella määritellyt on aina näkyvillä saman luokan sisällä.
Tämä esim. toimii
public double yhteensa=0;
public void joopajoo()
{
yhteensa = (100 * 2.2);
}
public void niinniin()
{
System.out.println(yhteensa);
}
Kiitos vastauksestasi.
Tuo "jos et erikseen sitä mainitse esittelyssä." jäi mieleen, elikkä millä tavoin voisin muuttujan määritellä, että saisin sen näkymään kauemmaksi luokassa?
mitä tuossa selostuksessa et ymmärtänyt, mutta aikani sitä tavailtuani aloin miettimään, että mitenköhän on, mahtaako externalointi toimia funktion sisältä. Normaalistihan muuttujan näkyvyyttä rajaavat vain ja ainoastaan "{" -merkki ja sitä seuraava "}" -merkki, joiden välissä välissä määritelty muuttuja ilmanmuuta näkyy.
"Eli suomeksi: voiko luokan sisällä siirtää tietoa funktiosta toiseen funktioon?"
Voi ja varsin helposti esim.
public double joopajoo(){ return 100*22;}
public void niinniin(){System.out.println(joopajoo()) }
Nyt ohjelma toimii. :)
Tehtävänä oli siis tehdä ohjelma, joka laskee asiakkaan ostokset, alvit, mahdolliset alennukset, jne. sekä lopuksi kerää kaikki tiedot laskuksi.
Eipä tullut mikään elämää suurempi ohjelma, mutta hyvä näin kun viilaamiseen jäi vielä aikaa. :)