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

tingna
tingna (21.220 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.821 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.073.729 point)
Du kalder ikke rente metoden.

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

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

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

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

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

tingna
tingna (21.220 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.073.729 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.220 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.073.729 point)
On den compiler ikke ?

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

tingna
tingna (21.220 point)
nej desværre!

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

tingna
tingna (21.220 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.073.729 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.073.729 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.783 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

Skrive til en array ved brug af add() i en velocity template

Oprettet den 18. juli 2014 kl. 12.04
k.andersen giver 60 point for svar | Giv et svar »

Connecte til MYSQL i java

Oprettet den 17. juli 2014 kl. 12.59
AL1234 giver 30 point for svar | Giv et svar »

Flickrsync - Flickr API Going SSL-Only on June 27th, 2014

Oprettet den 30. juni 2014 kl. 12.44
jorn_jensen giver 200 point for svar | Giv et svar »

Seneste guides

Undgå reklamerne på iPad
Malwarebytes version 2.0





Computerworld

Teaser billede

Langtsomt internet? Der er nok (også) støj på din linje

Du kan altid bruge en hurtigere internetforbindelse. Men det ikke altid, du kan få den. Støj kan være en forklaringerne. Se her hvorfor.

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 af 6 mini-tablets: Sådan vælger du den rigtige

Mini-tablets er praktiske og passer perfekt til rejser og e-bogslæsning. Men hvad skal du vælge? Vi har testet seks forskellige modeller.

Channelworld

Teaser billede

Erklæret tilhænger af fastansatte har købt ... et freelancekonsulenthus

Scott/Tiger, som er svoren tilhænger af fastansatte konsulenter, har netop købt freelancekonsulenthuset Dana Consult kontant. Men det giver god mening, siger direktøren.

White paper

Teaser billede

Den gode kravspecifikation

Hvad gør en kravspecifikation god? Følg de 10 trin til en bedre kravspecifikation og kravstyring og få hurtigt et højere investeringsafkast.



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