Har verkligen kört fast på en skoluppgift som går ut på att skapa en fiktiv bank, en klassiker.
Det jag behöver hjälp med är att initiera räntor på samtliga skapade konton. konton sparas i en linkedList, spännande bara det.
MAIN
KONTO
KONTOFABRIK
KONTOREGISTER
Det jag behöver hjälp med är att initiera räntor på samtliga skapade konton. konton sparas i en linkedList, spännande bara det.
MAIN
Kod:
import radorienteradTerminal.*; public class MikroBanken { public static void main(String[] args) { new Terminal(); } }
KONTO
Kod:
package bankVerksamhet; class Konto { private static int nyttNr = 1000; private int kontoNr; int saldo; int summaRänta; Konto() { nyttNr++; kontoNr = nyttNr; } int getKontoNr() { return kontoNr; } int beräknaRänta() { if(KontoFabrik.getKontotyp() == 1) { summaRänta= (int)Math.round(saldo * KontoFabrik.getRänta()); saldo+=summaRänta; return summaRänta; } if(KontoFabrik.getKontotyp()==2) { if(saldo < 80000) { summaRänta= (int)Math.round(saldo * KontoFabrik.getRänta()); saldo+=summaRänta; return summaRänta; } else if (80000 < saldo) { summaRänta= (int)Math.round(saldo * (KontoFabrik.getRänta() + 0.025)); saldo+=summaRänta; return summaRänta; } } if(KontoFabrik.getKontotyp()==3) { if(0 < saldo) { summaRänta= (int)Math.round(saldo * KontoFabrik.getRänta()); saldo+=summaRänta; return summaRänta; } else if(saldo < 0) { //Straffränta på 17.9% summaRänta = (int)Math.round(saldo * 0.821); saldo-=summaRänta; return summaRänta; } } return (int)summaRänta; } public int getRänta() { return summaRänta; } public String toString() { return "Kontonr: " + kontoNr + ", saldo: " + saldo + "kr"; } }
KONTOFABRIK
Kod:
package bankVerksamhet; class KontoFabrik { static int kontotyp; static double ränta; static Konto skapaKonto(int typ) { kontotyp = typ; if(typ == 1) { return new Lonekonto(); } if(typ == 2) { return new Maxikonto(); } if(typ == 3) { return new Sparkonto(); } else return null; } public static int getKontotyp() { return kontotyp; } public static double getRänta() { return ränta; } }
KONTOREGISTER
Kod:
TRANSAKTIONpackage bankVerksamhet; import java.util.*; class KontoRegister { private List<Konto> listan = new LinkedList<Konto>(); private Iterator<Konto> iteratorn = listan.iterator(); KontoRegister() { } void add(Konto nyttKonto) { listan.add(nyttKonto); } boolean remove(Konto kontot) { return listan.remove(kontot); } boolean isEmpty() { return listan.size() == 0; } Konto first() { iteratorn = listan.iterator(); if (iteratorn.hasNext()) return (Konto)iteratorn.next(); return null; } Konto next() { if (iteratorn.hasNext()) return (Konto)iteratorn.next(); return null; } Konto search(int kontoNr) { Konto ettKonto = first(); while (ettKonto != null && ettKonto.getKontoNr() != kontoNr) ettKonto = next(); return ettKonto; } }
Kod:
package bankVerksamhet; import javax.swing.JOptionPane; import radorienteradTerminal.*; public class Transaktion { private Terminal terminal; private Konto aktivtKonto; private KontoRegister registret = new KontoRegister(); public Transaktion(Terminal terminalen) { terminal = terminalen; } public void skapaKonto(int kontotyp) { aktivtKonto = KontoFabrik.skapaKonto(kontotyp); registret.add(aktivtKonto); terminal.uppdatera(); } public void beräknaRänta() { while(registret.next() != null) { aktivtKonto = registret.next(); int ränta = aktivtKonto.getRänta(); System.out.println(ränta); } } }
__________________
Senast redigerad av bosscs2 2021-12-12 kl. 01:24.
Senast redigerad av bosscs2 2021-12-12 kl. 01:24.