// PankkiParempi.java Copyright (c) 2006 Kari Laitinen // http://www.naturalprogramming.com // 2006-02-10 Tiedosto luotu. // 2006-04-09 Viimeisin muutos. /* javaohjelmat3-kansiossa on kolme .java-tiedostoa jotka sisaltavat luokan nimelta Pankkitili. Nama tiedostot ovat PankkiYksinkertainen.java, PankkiParempi.java seka PankkiMonimuotoinen.java. Koska Pankkitili-luokka ei ole samanlainen kaikissa naissa ohjelmissa, on mahdollista etta syntyy ongelmia kun kaannat ja suoritat naita ohjelmia. Taman vuoksi on tarkeaa etta kaannat ohjelmat aina kokonaisuu- dessaan ennen niiden suoritusta. Eras mahdollinen ongelma joka voi tulla eteen on se etta ohjelmaa PankkiYksinkertainen.java ei voida enaa suorittaa sen jalkeen kun ohjelma PankkiParempi.java on kaannetty. Tama johtuu siita etta ohjelman PankkiParempi.java (tai PankkiMonimuotoinen.java) kaantaminen korvaa Pankkitili.class-tiedoston joka aiemmin syntyi ohjelman PankkiYksinkertainen.java kaannoksessa. */ class Pankkitili { String tilin_omistaja ; long tilin_numero ; double tilin_saldo ; public Pankkitili( String annettu_tilin_omistaja, long annettu_tilin_numero, double tilin_alkusaldo ) { tilin_omistaja = annettu_tilin_omistaja ; tilin_numero = annettu_tilin_numero ; tilin_saldo = tilin_alkusaldo ; } public void nayta_tilin_tiedot() { System.out.print( "\n\nP A N K K I T I L I N T I E D O T : " + "\n Tilin omistaja : " + tilin_omistaja + "\n Tilin numero: " + tilin_numero + "\n Tilin saldo: " + tilin_saldo ) ; } public void talleta_rahaa( double talletettava_rahamaara ) { System.out.print( "\n\nTAPAHTUMA TILILLA NUMERO " + tilin_numero + " (Tilin omistaja: " + tilin_omistaja + " )" ) ; System.out.print( "\n Talletettu maara: " + talletettava_rahamaara + "\n Vanha tilin saldo: " + tilin_saldo ) ; tilin_saldo = tilin_saldo + talletettava_rahamaara ; System.out.print( " Uusi saldo: " + tilin_saldo ) ; } public void nosta_rahaa( double nostettava_rahamaara ) { System.out.print( "\n\nTAPAHTUMA TILILLA NUMERO " + tilin_numero + " (Tilin omistaja: " + tilin_omistaja + " )" ) ; if ( tilin_saldo < nostettava_rahamaara ) { System.out.print("\n -- Nostoa ei suoritettu: " + "Ei riittavasti saldoa nostaa " + nostettava_rahamaara ) ; } else { System.out.print("\n Nostettu maara: " + nostettava_rahamaara + "\n Vanha tilin saldo: " + tilin_saldo ) ; tilin_saldo = tilin_saldo - nostettava_rahamaara ; System.out.print(" Uusi saldo: " + tilin_saldo ) ; } } public void siirra_rahaa_tilille( Pankkitili vastaanottava_tili, double siirrettava_rahamaara ) { System.out.print( "\n\nTAPAHTUMA TILILLA NUMERO " + tilin_numero + " (Tilin omistaja: " + tilin_omistaja + " )" ) ; if ( tilin_saldo >= siirrettava_rahamaara ) { vastaanottava_tili.tilin_saldo = vastaanottava_tili.tilin_saldo + siirrettava_rahamaara ; System.out.print( "\n " + siirrettava_rahamaara + " siirrettiin tilille " + vastaanottava_tili.tilin_numero + " (Tilin omistaja: " + vastaanottava_tili.tilin_omistaja + " )" + "\n Saldo ennen siirtoa: " + tilin_saldo ) ; tilin_saldo = tilin_saldo - siirrettava_rahamaara ; System.out.print( " Uusi saldo: " + tilin_saldo ) ; } else { System.out.print( "\n -- Ei tarpeeksi saldoa siirtoon." ) ; } } } class PankkiParempi { public static void main( String[] ei_kaytossa ) { Pankkitili bassonsoittajan_tili = new Pankkitili( "Cisse Hakkinen", 121212, 0 ) ; Pankkitili formulakuskin_tili = new Pankkitili( "Mika Hakkinen", 191919, 7777.77 ) ; bassonsoittajan_tili.talleta_rahaa( 3333.33 ) ; bassonsoittajan_tili.nosta_rahaa( 4444.44 ) ; formulakuskin_tili.siirra_rahaa_tilille( bassonsoittajan_tili, 2222.22 ) ; formulakuskin_tili.nayta_tilin_tiedot() ; bassonsoittajan_tili.nayta_tilin_tiedot() ; } }