Hei,
Olen suunnitellut tekeväni projekti pankkiautomaatin, jossa käyttäisi tiliä olio luokkana, johon tallentusi saldo. Eli käyttäisin toimintoja, että kysyin tilin saldoa, voisin lisätä sinne rahaa, voisin nostaa sieltä myös. Miten tämän saisin toimimaan niin, että aina kutsuisin olio-luokka tiliä ja se päivittyisi eri toimintojen yhteydessä.
Minulla on seuraavanlainen ongelma, kun kokeilen Javalla olio luokilla saada saldo muuttujaa toimimaan.
Tässä käyttöliittymä, jossa kutsun tili oliota.
_________________________________________________
private class nappiKuuntelija implements ActionListener
{
Tili tili = new Tili(0);
public void actionPerformed(ActionEvent e)
{
Object aiheuttaja=e.getSource();
if(aiheuttaja.equals(saldo))
{
tiedot.setText(tili.toString());
}
if(aiheuttaja.equals(talleta))
{
tili.setSaldo(tili.getSaldo() parseInt(tunnus.getText()) );
}
if(aiheuttaja.equals(nosta))
{
tili.setSaldo(tili.getSaldo() - parseInt(tunnus.getText()) );
}
}
}
_________________________________________________
Tässä tili olio luokka.
_________________________________________________
public class Tili
{
private int saldo;
/**********************************************************************/
public Tili(int n) //luontimetodit
{
saldo=n;
}
public int getSaldo() { //SETit ja GETit
return saldo;
}
public void setSaldo(int saldo) {
this.saldo = saldo;
}
public String toString()
{
String palaute;
palaute = "Saldo:" saldo;
return palaute;
}
}
Eli ongelmana on, että en saa tuota tili olioita toimimaan, niin että kun koitan vähentää tai lisätä summaa ja tulostaa tilin ulos. Se vain tulostaa saldon, mutta ei tee siihen muutoksia. Voisikto joku neuvoa miten saisin muutokset toimimaan.
javan olio ohjelmointi ongelma
3
615
Vastaukset
- The Rat
Javaa pahemmin tuntematta, ei kai tuota nappikuuntelijaa (luokkien nimet kai yleensä isolla?) luoda aina nappia painettaessa? Jos näin on, luodaan tilikin siinä vaiheessa tyhjänä...
Tee testiluokka tai ainakin testimetodi tuonne, joka muuttelee saldoa ja tulostelee sitä ulos. Näet ainakin, onko vika Tili -luokassa (ei minun silmiini osu mitään varsinaista virhettä).
Termeistä vielä: olio on luokan ilmentymä. Et kutsu luokkaa, vaan kutsut sen ilmentymän metodeja. - aöskdfjöaslkjfasf
Kannattaisi selvittää/katsoa se, yrittääkö ohjelma lisätä/kasvattaa saldoa, eli ovatko lauseet "if(aiheuttaja.equals(talleta))" ja "if(aiheuttaja.equals(nosta))" koskaan tosia.
Toiseksi kannattaisi selvittää toimiiko "itse tehty"(?) parseInt() -metodi.
Kolmanneksi kannattaisi selvittää se, että saldo, talleta ja nosta oliot käyttävät samaa nappiKuuntelija -luokan ilmentymää, ettei esim. joka kerta setActionListener metodia kutsuessa vahingossa luoda uutta ilmentymää "new nappiKuuntelija()", tms. käskyllä.
Neljänneksi kannttaa tarkistaa se, ettei tulostus lauseessa ole mitään vikaa. Esim. ettei se käytä eri tili luokan ilmentymää mitä ohjelma yleisesti muokkaa, tms. - aöskdfjöaslkjfasf
Tuli viellä yksi tarkastus ehdotus mieleen tuosta otsikon rivistä. Eli onko se numero tosiaan "tunnus" nimisessä oliossa/kentässä? (Eli jos yritätkin ottaa arvoa sellaisesta kentässä josta sitä ei ole. Tämä vain tuli mieleen, kun tuo "tunnus" kuulostaa jotenkin hassulta kentän nimeltä, kun käyttäjältä kuitenkin kysytään kai vain raha summaa).
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
- 1452549
En kai koskaan saa sinua
Koska et usko että riitäisit minulle. Olet aina pitänyt itseäsi liian risana ja heikkona. Katkot korkeutesi, ja poraat k1541649Terveystalon lääkärit ylilaskuttaneet
Tämän pörriäiset osaavat, laskuttamisen. Terveystalo myöntää asian. https://www.hs.fi/suomi/art-2000011134269.html "K1331623Saran ökytyyli käänsi katseita.
On nyt kyllä Sara kasvoistaan, kuvan perusteella todellakin pyöristynyt ainakin kuvan perusteella.1461344- 661338
The Summit Suomi: Maxie avaa hyytävästä tilanteesta kuvauksissa: "Veri roiskui ja tajusi, että..."
Oletko seurannut The Summit Suomea? Tykkäätkö vai et tai mitä mieltä ylipäätään olet sarjasta? Moni katsoja on kaikonnut131170Työttömille lusmuille luvassa lisää keppiä
Hallitus aikoo kiristää velvoitteiden laiminlyönnistä seuraavia työttömyysturvan karensseja ensi vuodesta alkaen. Hall2721147- 156976
Miksi ihmeessä?
Erika Vikman diskattiin, ei osallistu Euroviisuihin – tilalle Gettomasa ja paluun tekevä Cheek22904Tiedän kaiken sinusta ja kaikesta
Tiedän miten kärsit. Tiedän millanen oikeesti oot. Tiedän miksi valehtelit, tiedän miksi satutit mua. Tiedän mitä tapaht58889