// Sist endret 25.09.2010 av Ragnhild Kobro Runde. import easyIO.*; class BankSystem { public static void main(String[] args) { Bank b = new Bank(); b.navn = "Min Bank"; b.brukerDialog(); } } class Bank { Konto[] kontiene = new Konto[100000]; int antallKonti = 0; String navn; In tastatur = new In(); void brukerDialog() { int valg = 1; // valg = 0 avslutter programmet while (valg != 0) { switch(valg) { case 1: visMeny(); break; case 2: nyKonto(); break; case 3: innskudd(); break; case 4: uttak(); break; case 5: sumInnskudd(); break; default: System.out.println("Ulovlig valg"); } System.out.print("Skriv valg: "); valg = tastatur.inInt(); } } void visMeny() { System.out.println("0 - avslutt"); System.out.println("1 - vis meny"); System.out.println("2 - ny konto"); System.out.println("3 - innskudd"); System.out.println("4 - uttak"); System.out.println("5 - sum innskudd"); } void nyKonto() { // Leser inn data om ny konto System.out.print("Navn på ny kontoinnehaver: "); String navn = tastatur.inLine(); System.out.print("Adresse: "); String adr = tastatur.inLine(); // Oppretter ny konto Konto k = new Konto(); k.adr = adr; k.navn = navn; k.kontoNr = antallKonti; // Legger ny konto inn i datastrukturen kontiene[antallKonti] = k; antallKonti++; } // Burde strengt tatt sjekket at bruker tastet ikke-negativt beløp. void innskudd() { Konto k = finnKonto(); if (k != null) { System.out.print("Innskuddsbeløp: "); double innskudd = tastatur.inDouble(); k.settInn(innskudd); } } // Burde strengt tatt sjekket at bruker tastet ikke-negativt beløp. void uttak() { Konto k = finnKonto(); if (k != null) { System.out.print("Uttaksbeløp: "); double uttak = tastatur.inDouble(); boolean ok = k.taUt(uttak); if (!ok) { System.out.println("Ikke nok penger på konto."); } } } void sumInnskudd() { double sumInnskudd = 0.0; for (int i = 0; i < antallKonti; i++) { sumInnskudd += kontiene[i].saldo; } System.out.println("Sum innskudd: " + sumInnskudd); } // Hjelpemetode for å finne riktig konto gitt navn på innehaver. // Kunne alternativt latt navn være parameter til metoden. Konto finnKonto() { System.out.print("Navn på kontoinnehaver: "); String s = tastatur.inLine(); for (int i = 0; i < antallKonti; i++) { if (kontiene[i].navn.equals(s)) { return kontiene[i]; } } System.out.println("Fant ikke kontoinnehaver"); return null; } } class Konto { String navn, adr; int kontoNr; double saldo = 0.0; void settInn(double inn) { saldo += inn; } boolean taUt(double ut) { if (ut > saldo) { return false; } else { saldo -= ut; return true; } } }