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?
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... :-)
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);
}
}