Avatar billede skurggman Nybegynder
22. september 2003 - 19:57 Der er 10 kommentarer og
1 løsning

Hjælp til simpelt java program

Hej

Jeg skal gerne have lidt hjælp til at lave sådan at man kan tilføje en "transaktion" til en List i en anden klasse - Abonnement.
Mit problem er at jeg ikke ved hvordan jeg gør sådan at den tilføjer den til et bestemt abonnement jeg har oprettet... Det er nok ganske simpelt, men jeg sidder lidt fast...

Her er Abonnement klassen:
import java.util.*;

/**
* Write a description of class Abonnement here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Abonnement {

    private String telefonnummer;
    private List transaktioner;
   
    public Abonnement(String tlf) {
        telefonnummer = tlf;
        transaktioner = new ArrayList();
        transaktioner.add( new Indbetaling(20000) );
    }
   
    public void tilføjTransaktion(Transaktion t) {
        transaktioner.add(t);
    }

    public int saldo() {
        int s = 0;
        Iterator i = transaktioner.iterator();
        while ( i.hasNext() ) {
            Transaktion t = (Transaktion) i.next();
            s = s + t.beløb();
        }
        return s;
    }
   
    public void udskrivAktivitetsliste()
    {
        //
    }
   
    public String toString() {
        return telefonnummer;
    }
}

Her er SMS klassen:

public class SMS extends Transaktion {

    private static int pris = -20;

    public int beløb() {
        return pris;
    }
   
    public void sendTil(String telefonnummer)
    {
       
    }
   
    public String besked()
    {
        return null;
    }
}


Her er Transaktionklassen, hvis den er nødvendig:
public abstract class Transaktion {
    public abstract int beløb();
}

Håber i forstår mit spørgsmål og kan give et hint...
Avatar billede skurggman Nybegynder
22. september 2003 - 19:58 #1
Det er funktionen sendTil der er aktuel...
Den skal tilføje en "new SMS()" til min liste i abbonnement...
Avatar billede x-masman Nybegynder
22. september 2003 - 19:59 #2
abonnement peter = new abonnent();

peter.tilføjTransaktion(t)
Avatar billede skurggman Nybegynder
22. september 2003 - 20:02 #3
ja men det skulle gerne være lidt mere dynamisk...
Avatar billede skurggman Nybegynder
22. september 2003 - 20:03 #4
Så jeg kan oprette et abonnement og derfra så sende sms'er...
Så jeg ikke opretter Abonnementer gennem min kode...
Avatar billede arne_v Ekspert
22. september 2003 - 20:05 #5
public void sendTil(Abonnement abn, String telefonnummer)
    {
      abn.tilføjTransaktion(this);
    }

så kalder du med:

SMS sms = new SMS();
sms.sendTil(mitabon, "12345678");

og prisen ryger så på abonnementet.
Avatar billede arne_v Ekspert
22. september 2003 - 20:06 #6
Du kunne også gemme abonnement via SMS's constructor.
Avatar billede robotten Praktikant
26. september 2003 - 09:09 #7
Er du flink, lige at gennemgå dine åben spm.?
Afventer feedback ;)
Avatar billede arne_v Ekspert
26. september 2003 - 09:19 #8
robot>

Hvorfor ligge den kommentar i et spørgsmål som er lukket ?
Avatar billede robotten Praktikant
26. september 2003 - 09:39 #9
Fordi jeg ikke på den måde vil spamme brugerens evt. åbne spm.
Her sker der ikke så meget, ved lige at påminde brugeren om sine hængepartier.
Avatar billede arne_v Ekspert
26. september 2003 - 09:47 #10
Umiddelbart vil jeg da tro at der gennemsnnitligt er ligeså mange
deltagere der skal læse det i et lukket spørgsmål som i et åbent
spørgsmål.

Og mens deltagerne i et åbent spørgsmål har en interesse i at få
spørgsmålet lukket, så er deltagerne i lukkede spørgsmål nok ikke
helt så engagerede.
Avatar billede robotten Praktikant
26. september 2003 - 09:50 #11
Det var heller ikke henvendt til jer ;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester