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

tingna
tingna (20.750 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 (61.351 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.071.379 point)
Du kalder ikke rente metoden.

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

riversen
riversen (61.351 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 (61.351 point)
blog.riversen.dk/
nå jeg har nok misforstået

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

tingna
tingna (20.750 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.071.379 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 (20.750 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.071.379 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.071.379 point)
Giver den ikke det rigtige resultat ?

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

tingna
tingna (20.750 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.071.379 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 (20.750 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.071.379 point)
On den compiler ikke ?

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

tingna
tingna (20.750 point)
nej desværre!

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

tingna
tingna (20.750 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.071.379 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.071.379 point)
(du har allerede selv fået rettet getbonus til getBonus)

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

=maddog=
=maddog= (36.313 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

sorterings problemer

Oprettet den 22. april 2014 kl. 14.07
Rashid1403 giver 60 point for svar | Giv et svar »

Fiinde den samme tal sekvens i et array

Oprettet den 10. april 2014 kl. 22.10
tinaw25 giver 30 point for svar | Giv et svar »

manipuler pakker sendt og modtaget

Oprettet den 7. april 2014 kl. 20.54
Fodcreme giver 60 point for svar | Giv et svar »

Seneste guides

Malwarebytes version 2.0
Watermark et billede





Computerworld

Teaser billede

Nets advarer: Ny Java giver bøvl med NemID

Den nye version af Java frigives nu, men Nets' test viser, at der er problemer med Java-versionerne i samspil med NemID. Du skal alligevel opdatere.

CIO

Teaser billede

Sådan nedgraderer du nemt Windows 8 til Windows 7

Du kan nemt nedgradere fra Windows 8 til Windows 7. Men pas på: Vejen tilbage til Windows 8 kan være besværlig. Vi har forsøgt at ned- og opgradere begge veje. Se her, hvordan det er gået.

Comon

Teaser billede

Test: Kør dobbelt så langt på batteriet med din smartphone

Er du træt af at løbe tør for strøm? Gider du ikke kabelroderi, er løsningen et telefon-cover med indbygget batteri. Se vores test af den smarte løsning her.

Channelworld

Teaser billede

It-milliardær: "Jeg er ikke nogen steder, hvor jeg ikke har kontrol"

It-milliardæren Ib Kunøe har ry for at være en af it-branchens hårde negle. I dette interview fortæller han, hvordan den militære baggrund og opvæksten som søn af en sønderjysk...

White paper

Teaser billede

Modernisering af legacy-it

Læs hvordan automatiserede værktøjer fra BluePhoenix kan understøtte modernisering af it, applikations- og databasemigrering samt test.


IT Kurser

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