Public feed #377816

Miscellany

public text v1 · immutable
Raw Edit
·published 2007-03-02 01:15 UTC
rendered paste body
/*
 * 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);

	}
}