arrays mm.
Hejsa, Jeg har fået nedenstående opgave som jeg gerne skulle løse. Men jeg skal have lidt hjælp med på vejen.Beskrivelse:
Opgaven går på at udarbejde et konferencesystem som kan håndtere flere konferencer.
Deltagerne kommer enten fra firmaer eller deltager på privat basis. De deltagere, der er foredragsholdere, skal ikke betale for deltagelse i selve konferencen, men selvfølgelig for overnatning og øvrige arrangementer.
Deltagerne medbringer ofte en ledsager, og for at disse ikke skal kede sig, arrangeres der særlige udflugter (kun) for ledsagerne.
Foreningen laver aftaler om indkvartering på hoteller i nærheden af konferencestedet, typisk et luksushotel, et mellemklassehotel og et billigt hotel. Det er ikke alle deltagerne, der bor på hotel, da enkelte arrangerer indkvarteringen selv.
En deltager skal selv sørge for at sende den samlede betaling til foreningen. Han/hun skal således selv regne ud, hvor meget tilmeldingen løber op i. Foreningen registrerer betalingerne, efterhånden som de indløber.
Efterhånden som tilmeldingerne ankommer, skal disse registreres. Hvis en deltager har angivet firma, skal der kunne vises en liste over de registrerede firmaer, som der så kan vælges fra. Hvis firmaet ikke allerede findes, skal der være mulighed for at registrere det. Ligeledes skal de mulige hoteller kunne vises i en liste (det kan i opgaveløsningen antages, at der altid er plads på et hotel). Tilmelding af ledsager til udflugt foretages på samme måde.
Når vi modtager betalinger, er det enten i form af checks eller en liste fra vores bank. På begge måder får vi fat i deltagerens navn og det beløb, der er indbetalt. I det nye system skal vi så have mulighed for at finde den enkelte deltager frem via navn, så vi kan indtaste et nyt eller opdateret beløb og en dato for, hvornår det er sket. Banken har tilbudt, at vi kan få oplysningerne pr. mail, så vi kunne indlæse dem direkte, men vi har fravalgt denne mulighed.
Forudsætninger:
• En deltager behøver ikke være tilknyttet et firma, men er det ofte.
• En deltager kan have en ledsager med, men behøver det ikke.
• Udflugter er forbeholdt ledsagere.
• En deltager kan reservere et hotelværelse, men behøver det ikke.
• En deltager med ledsager får automatisk dobbeltværelse (forudsat han har booket et hotelværelse).
• En deltager med hotelreservation bliver automatisk booket for en periode svarende til tilmeldingen
(én overnatning mindre end antal dage herpå).
• Deltagerne hæfter for tilmelding, så der skal ikke være mulighed for at annullere eller ændre
en tilmelding.
• Den samlede pris for en deltager er summen af konferenceafgiften, hotelreservationen og
priserne for de reserverede udflugter.
Spørgsmål 1
• Jeg starter med at oprette en new Controller ved navn ”controll1”
• Fra controll1 kan jeg så oprette en person og en konference.
• Næst skulle jeg gerne kunne oprette en deltager hvor jeg skal kunne referere til den netop oprettede person og konference.
o Det er mig ikke muligt. Jeg kan ikke finde den person/ konference som jeg forsøger at referere til. Hvordan laver jeg den reference?
Spørgsmål 2
• Når jeg har oprettet en eller flere personer ville jeg gerne kunne udskrive en liste over de personer som er oprettet.
o Det er mig heller ikke muligt. Det er sikkert fordi jeg refererer til et array som indeholder endnu et array.
Spørgsmål 3
o Hvordan opretter jeg en udskrift hvor jeg tager fat i class’en Deltager, og hvordan får jeg så returneret person data.
Det kunne være super hvis nogen kunne hjælpe mig lidt på vej..
------------------------------------------
kode
------------------------------------------
Controller.java
------------------------------------------
import java.util.*;
public class Controller
{
public ArrayList konferencer;
public ArrayList personer;
public ArrayList deltagere;
public Controller()
{
konferencer = new ArrayList();
personer = new ArrayList();
deltagere = new ArrayList();
}
public Konference opretKonference(String konferenceNavn,String konferenceAdresse,
String konferenceStartTidspunkt,String konferenceSlutTidspunkt)
{
Konference konference = new Konference(konferenceNavn,konferenceAdresse,konferenceStartTidspunkt,konferenceSlutTidspunkt);
konferencer.add(konference);
return konference;
}
public Person opretPerson(String personNavn,String personAdresse,String personTelefonnummer,String personId)
{
Person person = new Person(personNavn, personAdresse, personTelefonnummer, personId);
personer.add(person);
return person;
}
public void opretDeltager(String deltagerAnkomstDato,String deltagerAfrejseDato,
boolean deltagerForedragsholder,float deltagerBetalerBeloeb,String deltagerBetaltDato,
Person person, Konference konference)
{
konference.opretDeltager(deltagerAnkomstDato, deltagerAfrejseDato,
deltagerForedragsholder, deltagerBetalerBeloeb, deltagerBetaltDato, person);
}
public void showPersoner()
{
String temp;
Iterator iter = personer.iterator(); // create an
// iterator object
while (iter.hasNext()) // and keep going so long as
// there are more elements in the list
{
temp = (String)iter.next(); // get & convert
// current element
System.out.println(temp); // print it!
} // end while loop
}
}
Deltager.java
----------------------------------------
public class Deltager
{
public String deltagerAnkomstDato;
public String deltagerAfrejseDato;
public boolean deltagerForedragsholder;
public float deltagerBetalerBeloeb;
public String deltagerBetaltDato;
public Person person;
public Deltager(String deltagerAnkomstDato,String deltagerAfrejseDato,
boolean deltagerForedragsholder,float deltagerBetalerBeloeb,String deltagerBetaltDato,Person person)
{
this.deltagerAnkomstDato = deltagerAnkomstDato;
this.deltagerAfrejseDato = deltagerAfrejseDato;
this.deltagerForedragsholder = deltagerForedragsholder;
this.deltagerBetalerBeloeb = deltagerBetalerBeloeb;
this.deltagerBetaltDato = deltagerBetaltDato;
this.person = person;
// this. kommando refererer til "class Deltager"
}
}
Konference.java
-------------------------------------------
import java.util.*;
public class Konference
{
// instance variables - replace the example below with your own
public String konferenceNavn;
public String konferenceAdresse;
public String konferenceStartTidspunkt;
public String konferenceSlutTidspunkt;
public ArrayList deltagere;
public Konference(String konferenceNavn,String konferenceAdresse,String konferenceStartTidspunkt,String konferenceSlutTidspunkt)
{
deltagere = new ArrayList();
this.konferenceNavn = konferenceNavn;
this.konferenceAdresse = konferenceAdresse;
this.konferenceStartTidspunkt = konferenceStartTidspunkt;
this.konferenceSlutTidspunkt = konferenceSlutTidspunkt;
// this. kommando refererer til "class Konference"
}
public void opretDeltager(String deltagerAnkomstDato,String deltagerAfrejseDato,
boolean deltagerForedragsholder,float deltagerBetalerBeloeb,String deltagerBetaltDato,Person person)
{
Deltager deltager = new Deltager(deltagerAnkomstDato, deltagerAfrejseDato,
deltagerForedragsholder, deltagerBetalerBeloeb, deltagerBetaltDato, person);
deltagere.add(deltager);
}
}
Person.java
---------------------------------
public class Person
{
private String personNavn;
private String personAdresse;
private String personTelefonnummer;
private String personId;
/**
* Constructor for objects of class Person
*/
public Person(String personNavn,String personAdresse,String personTelefonnummer,String personId)
{
this.personNavn = personNavn;
this.personAdresse = personAdresse;
this.personTelefonnummer = personTelefonnummer;
this.personId = personId;
// this. kommando refererer til "class Person"
}
}
