Avatar billede Slettet bruger
09. juni 2003 - 16:57 Der er 5 kommentarer og
1 løsning

dato til medlemskaber

dato.
jeg er ved at lave et medlemskabssystem, og i den forbindelse vil jeg gerne have at et medlemskab får en start- og slutdato sådan at varigheden af det kan være fx. 12 måneder. varigheden bliver hentet fra et medlelmskabstypeobjekt.

hvordan skal jeg lave det?
Avatar billede Slettet bruger
09. juni 2003 - 17:02 #1
Her er nogle stumper af den foreløbige kode:

public class MedlemskabsType implements Serializable {
    String navn;
    int pris;

    private int varighed;
   
   
    /**
    * Method MedlemskabsType.
    * @param n
    * @param p
    * @param v
    */
   
    public MedlemskabsType(String n, int p, int v) {
        navn = n;
        pris= p;
        varighed = v;
       
    }
-------------------------------------------------------

public class MedlemskabsTypeBeholder implements Serializable, Subject{
    int i2;
    Vector medlemskabsTypeListe;
    IO io;
    Vector observerListe = new Vector();
   
    /**
    * @see java.lang.Object#Object()
    */
    public MedlemskabsTypeBeholder() {
        medlemskabsTypeListe = new Vector();
    }

    /**
    * Method getMedlemskabsTypeListe.
    * @return Vector
    */
    public Vector getMedlemskabsTypeListe() {
        return medlemskabsTypeListe;
    }

    /**
    * Method opretMedlemskabsType. Har ansvaret for at oprette medlemskabstyper
    * pga. "Creator".
    * @param navn
    * @param pris
    */
    public void opretMedlemskabsType(String navn, int pris, int varighed) {
        medlemskabsTypeListe.add(new MedlemskabsType(navn, pris, varighed));
       
    }

    /**
    * Method udskrivMedlemskabsTypeListe.
    * @return String
    */
    //Metode der returnerer en streng med alle relevante informationer om MedlemskabsTypeBeholderen

    public String udskrivMedlemskabsTypeListe() {
        String output = "\nMedlemskabstyper i BS: \n ";
        for (Iterator it = medlemskabsTypeListe.iterator(); it.hasNext();)
        output = output + it.next().toString();
        return output;
    }
           
           
    /**
    * Method getMedlemskabsType.
    * @param i
    * @return MedlemskabsType
    */
    public MedlemskabsType getMedlemskabsType(int i){
        i2= i;
        return (MedlemskabsType) medlemskabsTypeListe.get(i2);
    }
   
    public void setMedlemskabsTypeListe(Vector l) {
        l = medlemskabsTypeListe;
        givBesked(); // henvendt til observeren...
    }   
   
------------------------------------------

public class Kundekartotek implements Subject {
    Vector kundeListe = new Vector();
    Vector observerListe = new Vector();
    Kunde bufferKunde, returkunde;
    IO io;
   

    /**
    * Method opretKunde.
    * @param n
    * @param a
    * @param t
    * @param c
    * @param km
    * @return Kunde
    */
   
    public Kunde opretKunde(
        String f,
        String m,
        String l,
        String a,
        String t,
        String c,
        Vector km) {
        bufferKunde = new Kunde(f, m, l, a, t, c, km);
        kundeListe.add(bufferKunde);
        givBesked();
        return bufferKunde;

    }

    /**
    * Method getKunde.
    * @param n
    * @return Kunde
    */
    public Kunde getKunde(String n) {
        Iterator it = kundeListe.iterator();

        while (it.hasNext()) {
            Kunde bkunde = (Kunde) it.next();
            if (n.equals(bkunde.getNavn()))
                returkunde = bkunde;

        }
        return returkunde;

    }

    /**
    * Method setMedlemskab.
    * @param kunde
    * @param ms
    */
    public void setMedlemskab(Kunde kunde, Medlemskab ms) {
        kunde.setMedlemskab(ms);

    }

    /**
    * Method udskrivKundeListe.
    * @return String
    */
    public String udskrivKundeListe() {
        String liste = "\n\nListe over kunder og deres medlemskaber:";
        for (Iterator it = kundeListe.iterator(); it.hasNext();)
            liste = liste + it.next().toString();
        return liste;
    }

-------------------------------------------------

public class Kunde implements Serializable {

    private String adresse, telefon, cpr;
    private Navn navn;
    private Date oprettet = null;

    Vector kundensMedlemskaber, km;

    /**
    * Method Kunde.
    * @param f
    * @param m
    * @param l
    * @param a
    * @param t
    * @param c
    * @param km
    */

    public Kunde(
        String f,
        String m,
        String l,
        String a,
        String t,
        String c,
        Vector km) {
        navn = new Navn(f, m, l);

        adresse = a;
        telefon = t;
        cpr = c;
        oprettet = new Date();
        km = kundensMedlemskaber = new Vector();
    }

    /**
    * Method setMedlemskab.
    * @param medlems
    */
    public void setMedlemskab(Medlemskab medlems) {
        kundensMedlemskaber.add(medlems);
    }

    /**
    * Method getNavn.
    * @return String
    */
    public String getNavn() {

        String EtNavn = navn.getNavn();
        return EtNavn;
    }

    private String medlemskabsOversigt() {
        String output = "";
        Medlemskab ms = null;
        Iterator it = kundensMedlemskaber.iterator();
        while (it.hasNext()) {
            ms = (Medlemskab) it.next();
            output = output + ms.toString();
        }
        return output;
    }

    /**
    * @see java.lang.Object#toString()
    */
    public String toString() {

        return " | Navn: " + navn + " |  Kunde nr: " + cpr+ "  |  Medlemskab; "
        + medlemskabsOversigt();
    }
----------------------------------------

hvis det har interesse, ka al koden eftersendes... :-)
Avatar billede arne_v Ekspert
09. juni 2003 - 18:27 #2
Jeg synes at det er lidt usikkert præcis hvad du vil have.

Men følgende kode regner en periode ud fra nu til +N måneder:

import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;

public class PlusMonths {
    public static void main(String[] args) {
        test(6);
        test(12);
    }
    private static void test(int n) {
        Date start = new Date();
        Calendar c = new GregorianCalendar();
        c.setTime(start);
        c.add(Calendar.MONTH, n);
        Date end = c.getTime();
        System.out.println(start + " - " + end);
    }
}
Avatar billede arne_v Ekspert
24. juni 2003 - 20:58 #3
Kunne du bruge det til noget ?
Avatar billede arne_v Ekspert
11. juli 2003 - 19:11 #4
??
Avatar billede Slettet bruger
20. oktober 2005 - 14:53 #5
du får point for lang tids venten.
Avatar billede Slettet bruger
20. oktober 2005 - 15:56 #6
.
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