/* * KontoTest.java E.L. 2004-02-10 * * Filen inneholder to klasser: * Konto: Beskriver en bankkonto med muligheter for innskudd og uttak * KontoTest: Lager et konto-objekt og foretar transaksjoner. */ import static javax.swing.JOptionPane.*; class Konto { private long kontonr; private String navn; private double saldo; private int kredittgrense; public Konto(long startKontonr, String startNavn, double startSaldo, int startkredittgrense) { kontonr = startKontonr; navn = startNavn; saldo = startSaldo; kredittgrense = startkredittgrense; } public long finnKontonr() { return kontonr; } public String finnNavn() { return navn; } public double finnSaldo() { return saldo; } public double finnKredittgrense() { return kredittgrense; } public String innskudd(double beløp) { String resultat; saldo = saldo + beløp; double disponibelt = saldo + kredittgrense; resultat = "Innskuddet av kr: " + beløp + " gikk i orden, saldo: " + saldo + " og disponibelt: " + disponibelt; return resultat; } public String uttak(double beløp) { String resultat; double disponibelt = saldo + kredittgrense; if ((disponibelt - beløp) <= 0){ resultat = "Beklager, men din kredittgrense er nådd"; } else { saldo = saldo - beløp; resultat = "Uttaket på: " + beløp + " er nå gjennomført. Saldo: " + saldo; } return resultat; } public String settkredittgrense(int nykredittgrense) { kredittgrense = nykredittgrense; String resultat = "Din nye kredittgrense er: " + kredittgrense; return resultat; } } /* * Et enkelt program som tester klassen Konto. * Vi tester en klasse ved å opprette et (eller flere) objekt(er) av klassen. * Deretter henter vi ut dataene fra objektet og skriver disse ut, * slik at vi kan se at objektet virkelig inneholder de dataene * vi putter inn. Så prøver vi ut metoder som endrer datainnholdet, * og metoder som gjør beregninger. */ class oppgave6151 { public static void main(String[] args) { /* Trinn 1: Lager et objekt av klassen */ /* Kontonummeret er long, derfor L etter tallet */ long svadakontonummer = Long.parseLong(showInputDialog("Skriv inn kontonummeret")); String svadanavn = showInputDialog("Skriv inn navnet på kontoinnehaver"); double svadasaldo = Double.parseDouble(showInputDialog("Skriv inn saldo til konto: " + svadakontonummer)); int svadakredittgrense = Integer.parseInt(showInputDialog("Skriv inn kredittgrense til konto: " + svadakontonummer)); Konto svadajallaKonto = new Konto(svadakontonummer, svadanavn, svadasaldo, svadakredittgrense); int tingtodo = 0; do { String[] muligheter = {"Uttak","Innskudd","Forandre kredittgrense","Avslutt"}; int mc = QUESTION_MESSAGE; tingtodo = showOptionDialog(null,"Hva vil du gjøre?","Minibank 0.1Alpha",0,mc,null,muligheter,muligheter[0]); String beskjed = ""; switch (tingtodo){ case 0: beskjed = svadajallaKonto.uttak(Double.parseDouble(showInputDialog("Skriv inn beløp du vil ta ut"))); break; case 1: beskjed = svadajallaKonto.innskudd(Double.parseDouble(showInputDialog("Skriv inn beløpet du vil sette inn"))); break; case 2: beskjed = svadajallaKonto.settkredittgrense(Integer.parseInt(showInputDialog("Skriv inn den nye kredittgrensen"))); break; case 3: beskjed = "Takk for at du benyttet deg av Minibank 0.1Alpha"; break; } showMessageDialog(null, beskjed); } while (tingtodo != 3); } }