Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: Java 6 - 2D Array of 2D Arraylist  (gelezen 2313 keer)

0 leden en 1 gast bekijken dit topic.

Offline baloosv

  • Nieuw lid
  • Berichten: 1
  • Oplossing.be
Java 6 - 2D Array of 2D Arraylist
« Gepost op: 27 augustus 2013, 10:48:55 »
Hallo
Ik moet voor school een reservatietool indienen als eindexamen. (bowling).
De gebruiker kan kiezen uit een aantal banen en een eenvoudige benadering beschikbare uren. Opzet 10 banen, 8 uren.
Ik denk dat er dan een soort matrix ontstaat van:
(in pseudocode):
Bvb: baan1 is gereserveerd van 5 uur tot 7uur (eenvoudig houden)
reservaties[baannummerx][uur gereserveerd_begin]
reservaties[baannummerx][uur gereserveerd_2de_uur]
reservaties[baannummerx][uur gereserveerd_einduur]
baan9 is gereserveerd van 1 uur tot 2 uur.
reservaties[baannummery][uur gereserveerd_begin]
reservaties[baannummery][uur gereserveerd_einduur]

Ik zie niet goed de samenhang tussen de beide: gereserveerdebaan koppelen aan de tijdvork? Moet hier een arraylist voor worden gebruikt?

Is er een tutor aanwezig?

Offline dizzl

  • Ambassadeur
  • *****
  • Berichten: 2.345
  • I've Upped my standards,now,up yours!
Re: Java 6 - 2D Array of 2D Arraylist
« Reactie #1 Gepost op: 27 augustus 2013, 12:27:58 »
Een 2D Array 'Reservaties' lijkt me hiervoor een goede keuze 8Rijen en 10 Kolommen
Kolom 0 is baan1 enz...

Afhankelijk van wat je moet bijhouden (enkel vrij of bezet ->in dat geval vul je ze op met nullen en bij elke reservatie zet je er een één Een Boolean Array lijkt me hier simpel)
ofwel moet je de naam (of het lidnummer,...) bijhouden en in dat geval maak je een String Array of een Int Array

Reservaties[5][2] verwijst dan naar een Baan 4 uur 3 enz..

Bij aanvang initialiseer je door alle vakjes op False te zetten  -> Vul deze met twee geneste loops.
Weergeven kan je doen met kleurtjes (if true setForeground(Color.Green)

Ik denk dat je dat wel snapt.
Als iemand zou reserveren  op baan4 van uur 3 tot 5 dan zou ik dat in een lus doen
Baannummer = 4
for i=3; i<5;i++
{
    Reservatie[Baannummer-1][i-1]= true;
}

Na de reservatie toon je de matrix opnieuw.

Ik ken niets van de taal java maar zou zou ik het aanpakken
Arraylist las ik net kan je gebruiken als je Array moet kunnen vergroten of verkleinen, dat is hier 'niet' het geval. Dus zou k het maar bij een Array houden.

Systeem  : Intel Core i5-4440 3.1Ghz, 3.1GHz 16Giga Ram 64Bits
Software : Windows 10 professional, Avira, Office 2016 Professional

Offline Firebirdy

  • Ambassadeur
  • *****
  • Berichten: 2.408
  • Geslacht: Man
Re: Java 6 - 2D Array of 2D Arraylist
« Reactie #2 Gepost op: 27 augustus 2013, 23:57:28 »
Het kan met wat je zei inderdaad met gewone arrays... ik ga ervan uit dat je géén object-oriëntatie gezien hebt binnen Java (werken met klassen en objecten). Het aantal banen zal wel nooit tijdens het draaien van het programma moeten veranderen en het aantal uren in die vereenvoudigde representatie ook niet. Zijn er nog bijkomende vereisten?

Een paar opmerkingen:
- eventueel klantid's of klantnamen bijhouden ipv reservatiestatus? Id 0 of naam null/leeg is dan vrij om te reserveren
- je voorbeeld is dit: baan1 is gereserveerd van 5 uur tot 7uur (eenvoudig houden)
reservaties[baannummerx][uur gereserveerd_begin]
reservaties[baannummerx][uur gereserveerd_2de_uur]
reservaties[baannummerx][uur gereserveerd_einduur]

Overweeg om enkel uur gereserveerd_begin en uur gereserveerd_2de_uur toe te wijzen (maw het einduur overslaan)? Wat als er hierna iemand van 7 uur tot 8 uur reserveert? ;)

Als je nog vragen hebt, stel gerust!

(@Dizzl, zou het kunnen dat je in je voorbeeldje reservaties[3][2] bedoelde? :))

 


www.combell.com