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
559
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
Naiset miltä kiihottuminen teissä tuntuu
Kun miehellä tulee seisokki ja ja sellainen kihmelöinti sinne niin mitä naisessa köy? :)1219509- 492794
- 1592557
- 222039
Miksi kohtelit minua kuin tyhmää koiraa?
Rakastin sinua mutta kohtelit huonosti. Tuntuu ala-arvoiselta. Miksi kuvittelin että joku kohtelisi minua reilusti. Hais141796- 141613
Kyllä poisto toimii
Esitin illan suussa kysymyksen, joka koska palstalla riehuvaa häirikköä ja tiedustelin, eikö sitä saa julistettua pannaa151537"Joka miekkaan tarttuu, se siihen hukkuu"..
"Joka miekkaan tarttuu, se siihen hukkuu".. Näin puhui jo aikoinaan Jeesus, kun yksi hänen opetuslapsistaan löi miekalla111474- 101407
- 141336