Oprettet ons. d. 26. februar 2003 kl. 20:14:09

tingna
tingna (21.965 point. Point ude: 130)


hvordan laver man en metode der tilskriver 5% rente til en konto?

Hej eksperter, jeg skal udvide klassen Ungdomskonto, så den får en metode, der tilskriver 5% i studiebonus, hvis saldoen er over et vist grundbeløb. Hvad gør jeg galt?
/**
* Write a description of class Ungdomskonto here.
*
* @author Trine
* @version 26.02.03
*/
public class Ungdomskonto extends Konto{
   
    private long grundbeløb;
   
   
    public Ungdomskonto(String navn, long grund){
        super(navn);
        grundbeløb = grund;
    }
   
    public boolean hæv(long beløb){
        // put your code here
        if (super.saldoen() < 0)return false;
        if (super.saldoen() == 100)return super.hæv(beløb);
        if (beløb > (super.saldoen()/ 2))return false;
        return super.hæv(beløb);
    }
   
    public long getBonus(){
            return grundbeløb;
            }
    public boolean rente(){
        if(super.saldoen() > getbonus()){
            long bonus = (long)(super.saldoen() * 0.05);
            return super.indsæt(bonus);
            }
        else return false;
       
        }
   
  public String toString() {
        return super.toString() + "(Grundbeløb=" + grundbeløb + ")";
        }   
}





/**
* @author JCC
* @version 20 feb 03
*/

public class KontoDemo {

    private static Konto kassekredit;
    private static Konto pensionskonto;
    private static Konto ungdomskonto;
   
    public static void main(String[] args) {
        boolean ok;
        kassekredit = new Kassekredit("Hans Petersen", 100000);
        pensionskonto = new Pensionskonto("Birte Petersen", 50000);
        ungdomskonto = new Ungdomskonto("Martin Fisher", 1000);
       
        tjek("initialisering");
        ok = kassekredit.indsæt(12000);
        tjek(ok, "indsætte 12000 på kassekredit");
        ok = kassekredit.hæv(115000);
        tjek(ok, "hæve 115000 på kassekredit");
        ok = pensionskonto.hæv(115000);
        tjek(ok, "hæve 15000 på pensionskonto");
        ok = pensionskonto.indsæt(51000);
        tjek(ok, "indsætte 51000 på pensionskonto");
        ok = ungdomskonto.indsæt(500);
        tjek(ok,"indsætte 500 på ungdomskonto");
        ok = ungdomskonto.hæv (250);
        tjek(ok, "hæve 250 på ungdomskonto");
        ok = ungdomskonto.hæv (100);
        tjek(ok, "hæve 100 på ungdomskonto");
        ok = ungdomskonto.indsæt (1100);
        tjek(ok, "indsætte 1100 på ungdomskonto");
    }
   
    public static void tjek(String forklaring) {
        System.out.println();
        System.out.println("--- " + forklaring + " ---");
        System.out.println(kassekredit.toString());
        System.out.println(pensionskonto.toString());
        System.out.println(ungdomskonto.toString());
    }
   
    public static void tjek(boolean ok, String forklaring) {
        if (ok) {
            tjek(forklaring + ": ok");
        } else {
            tjek(forklaring + ": GIK GALT !!!");
        }
    }
}

Skrevet ons. d. 26. februar 2003 kl. 20:23:09| #1

riversen
riversen (62.566 point)
blog.riversen.dk/
public void tilskrivStudiebonus()
{
if( super.saldoen() > grundbeløb )
// tilskriv rente her
}

Skrevet ons. d. 26. februar 2003 kl. 20:23:28| #2

arne_v
arne_v (1.078.389 point)
Du kalder ikke rente metoden.

Skrevet ons. d. 26. februar 2003 kl. 20:23:37| #3

riversen
riversen (62.566 point)
blog.riversen.dk/
evt. returner boolsk om der er tilskrevet rente eller ej hvis nødvendigt

Skrevet ons. d. 26. februar 2003 kl. 20:24:09| #4

riversen
riversen (62.566 point)
blog.riversen.dk/
nå jeg har nok misforstået

Skrevet ons. d. 26. februar 2003 kl. 20:55:28| #5

tingna
tingna (21.965 point)
kan I uddybe det lidt? hvordan kalder jeg rentemetoden? og hvordan tilskriver jeg renten?

Skrevet ons. d. 26. februar 2003 kl. 21:00:28| #6

arne_v
arne_v (1.078.389 point)
Du sætter:

      ok = ungdomskonto.rente();
      tjek(ok, "rente beregning");

ind et sted i din main og så vil den tilskrive renter,
hvis den skal.

Skrevet ons. d. 26. februar 2003 kl. 21:11:55| #7

tingna
tingna (21.965 point)
Jamen, der er noget galt i selve metoden!!? hvordan tilskriver jeg renten?

Skrevet ons. d. 26. februar 2003 kl. 21:36:57| #8

arne_v
arne_v (1.078.389 point)
Som jeg læser rente metoden så indsætter den 5% af saldoen, hvis
saldo > grundbeløb.

SÅ det vil sige at bare ved at kalde rente metoden, så tilskrives renterne på
kontoen.

Skrevet ons. d. 26. februar 2003 kl. 21:37:23| #9

arne_v
arne_v (1.078.389 point)
Giver den ikke det rigtige resultat ?

Skrevet ons. d. 26. februar 2003 kl. 21:49:13| #10

tingna
tingna (21.965 point)
Den siger: tjek(ok, "rente beregning"); Cannot resolve symbol. Mangler der ikke noget i String toString? Eller i rentemetoden?

Skrevet ons. d. 26. februar 2003 kl. 21:51:58| #11

arne_v
arne_v (1.078.389 point)
Hvor har du sat den ind henne ?

Den skal sætte sind i main sammen med alle de andre kald !

Skrevet ons. d. 26. februar 2003 kl. 21:55:45| #12

tingna
tingna (21.965 point)
/**
* @author JCC
* @version 20 feb 03
*/

public class KontoDemo {

    private static Konto kassekredit;
    private static Konto pensionskonto;
    private static Konto ungdomskonto;
   
    public static void main(String[] args) {
        boolean ok;
        kassekredit = new Kassekredit("Hans Petersen", 100000);
        pensionskonto = new Pensionskonto("Birte Petersen", 50000);
        ungdomskonto = new Ungdomskonto("Martin Fisher", 1000);
       
        tjek("initialisering");
        ok = kassekredit.indsæt(12000);
        tjek(ok, "indsætte 12000 på kassekredit");
        ok = kassekredit.hæv(115000);
        tjek(ok, "hæve 115000 på kassekredit");
        ok = pensionskonto.hæv(115000);
        tjek(ok, "hæve 15000 på pensionskonto");
        ok = pensionskonto.indsæt(51000);
        tjek(ok, "indsætte 51000 på pensionskonto");
        ok = ungdomskonto.indsæt(500);
        tjek(ok,"indsætte 500 på ungdomskonto");
        ok = ungdomskonto.hæv (250);
        tjek(ok, "hæve 250 på ungdomskonto");
        ok = ungdomskonto.hæv (100);
        tjek(ok, "hæve 100 på ungdomskonto");
        ok = ungdomskonto.indsæt (1100);
        tjek(ok, "indsætte 1100 på ungdomskonto");
        ok = ungdomskonto.rente();
        tjek(ok, "rente beregning");
    }
   
    public static void tjek(String forklaring) {
        System.out.println();
        System.out.println("--- " + forklaring + " ---");
        System.out.println(kassekredit.toString());
        System.out.println(pensionskonto.toString());
        System.out.println(ungdomskonto.toString());
    }
   
    public static void tjek(boolean ok, String forklaring) {
        if (ok) {
            tjek(forklaring + ": ok");
        } else {
            tjek(forklaring + ": GIK GALT !!!");
        }
    }
}

Skrevet ons. d. 26. februar 2003 kl. 21:59:12| #13

arne_v
arne_v (1.078.389 point)
On den compiler ikke ?

Skrevet ons. d. 26. februar 2003 kl. 22:01:58| #14

tingna
tingna (21.965 point)
nej desværre!

Skrevet ons. d. 26. februar 2003 kl. 22:04:02| #15

tingna
tingna (21.965 point)
Rente metoden er sådan her, mangler der ikke noget i den?:

public long getBonus(){
            return grundbeløb;
            }
    public boolean rente(){
        if(super.saldoen() > getBonus()){
            long bonus = (long)(super.saldoen() * 0.05);
            return super.indsæt(bonus);
            }
        else return false;
       
        }

   
  public String toString() {
        return super.toString() + "(Grundbeløb=" + grundbeløb + ")";
        }

Skrevet ons. d. 26. februar 2003 kl. 22:15:34| #16

arne_v
arne_v (1.078.389 point)
Ah.

Jeg har fundet den.

rente er en metod ei klassen UngdomsKonto, men du laver

    private static Konto ungdomskonto;
 
    ungdomskonto = new Ungdomskonto("Martin Fisher", 1000);

Hvis du erstatter det med:

    private static UngdomsKonto ungdomskonto;
 
    ungdomskonto = new Ungdomskonto("Martin Fisher", 1000);

så bør det compile !

Skrevet ons. d. 26. februar 2003 kl. 22:15:59| #17

arne_v
arne_v (1.078.389 point)
(du har allerede selv fået rettet getbonus til getBonus)

Skrevet tor. d. 27. februar 2003 kl. 06:43:55| #18

=maddog=
=maddog= (37.528 point)
public class Ungdomskonto extends Konto{
   
    private long grund;
    private boolean hasCashedBonus = false;
   
    public Ungdomskonto(String navn, long grund){
        super(navn);
        this.grund = grund;
    }
   
    public getGrund() { return grund; }
    public setGrund(long grund) { this.grund = grund; }
   
    public void indsæt(long value) {
        super.indsæt(long value);
        if (!hasCashedBonus&&(saldoen()>getGrund())) {
            // vor studieven har ikke fået gryn endnu
            // og hun har kontanter nok
            super.indsæt(saldoen()*0.05d);
            hasCashedBonus = true;
        }
    }
}

løser det ikke problemet? Denne vil opføre sig som Konto, men blot indsætte 5% af kontoen første gang saldoen er over grund.

Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   


Seneste spørgsmål

Java multiThread start/stop

Oprettet den 16. december 2014 kl. 14.08
Zeebaah giver 60 point for svar | Giv et svar »

Irreterende GUI placeringer!

Oprettet den 16. december 2014 kl. 13.54
Brugernavnoptaget giver 30 point for svar | Giv et svar »

Javafx update en part a UI

Oprettet den 12. december 2014 kl. 16.25
WannabeGeek giver 30 point for svar | Giv et svar »

Seneste guides

Malwarebytes version 2.0.3.1025
Find ejeren af et vilkårligt domæne
Opret BOOTBAR USB pen ...





Computerworld

Teaser billede

På vejen hjem fra lufthavnen opdager jeg at min telefon via Bluetooth prøver at forbinde med min bil - og Bluetooth har aldrig været aktiveret på den telefon

På vejen hjem fra lufthavnen opdager jeg at min telefon via Bluetooth prøver at forbinde med min bil - og Bluetooth har aldrig været aktiveret på den telefon

CIO

Teaser billede

Skat sparer 100 millioner kroner med ny it-indkøbs-politik: Så enkelt kan det gøres

Med en spritny udbudsfabrik har Skat præsteret at spare 100 millioner kroner på it-driftsudbud. Læs her, hvordan Skat har strømlinet sine udbudsproces.

Comon

Teaser billede

Ny bærbar computer? Tag et kig på Lenovo Yoga 3 og Microsoft Surface Pro 3

Lenovo Yoga Pro 3 bærbar PC er ekstremt tynd, kommer med den helt nye Intel Core M processor og lades via USB. Men kan den slå Surface Pro 3? Se duellen her.

Channelworld

Teaser billede

Faneflugt blandt Microsofts danske partnere: Fylder hylderne med Microsoft-rivalers produkter

Massevis af danske forhandlere af Microsofts klassiske økonomisystem C5 er begyndt at fylde hylderne med produkter fra Microsofts rivaler. "Det virker som om, at Microsoft mere eller mindre...

White paper

Teaser billede

Outsourcing af softwareudvikling

Hvordan vælger du den rigtige partner? Læs om geografi og kulturforskelle, samarbejde og vurdering af faglig kompetence og projektmodenhed.



Udgiver · © 2014 Computerworld A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger