diff --git a/src/RalliJava/Rallit.java b/src/RalliJava/Rallit.java index 2a64bcc262aca76913ef19f690cd90ba070c932d..fc5fa9898115a5335e40b8053287a91b81d357a3 100644 --- a/src/RalliJava/Rallit.java +++ b/src/RalliJava/Rallit.java @@ -12,7 +12,7 @@ import java.util.List; */ public class Rallit { - private Collection<Ralli> alkiot = new ArrayList<Ralli>(); + private final Collection<Ralli> alkiot = new ArrayList<Ralli>(); int lkm = 0; @@ -25,12 +25,15 @@ public class Rallit { /** - * Haetaan kaikki henkilön osallistumat rallit + * Haetaan kaikki henkilön osallistumat rallit. + * Käy rallit läpi ja etsii sieltä ne, + * mihin kysytty henkilö on osallistunut * @param tunnusNro rallin tunnusnumero * @return lista ralleista johon haluttu henkilö on osallistunut */ public List<Ralli> annaRallit(int tunnusNro) { List<Ralli> loydetyt = new ArrayList<Ralli>(); + // Käy rallit läpi ja etsii sieltä ne, mihin kysytty henkilö on osallistunut for (Ralli ralli:alkiot) //ITERAATTORI if(ralli.getTunnusNro() == tunnusNro) loydetyt.add(ralli); return loydetyt; @@ -75,7 +78,7 @@ public class Rallit { List<Ralli> rallit2 = rallit.annaRallit(2); - // Tulostaa halutun (yläällä indeksi) rallin luoduista + // Käy listan läpi ja tulostaa halutun (yläällä indeksi) rallin luoduista for (Ralli ral : rallit2) { System.out.print(ral.getTunnusNro() + " "); ral.tulosta(System.out); diff --git a/src/RalliJava/Rekisteri.java b/src/RalliJava/Rekisteri.java index 2bc267428c85f85a59712084f156ffc5b00cebe8..901afb4b1de6f3a5f29d3464ee2ecf50ebb81b28 100644 --- a/src/RalliJava/Rekisteri.java +++ b/src/RalliJava/Rekisteri.java @@ -1,5 +1,7 @@ package RalliJava; +import java.util.List; + /** * @author idamk * @version 25.2.2025 @@ -8,7 +10,7 @@ package RalliJava; public class Rekisteri { private final Henkilot henkilot = new Henkilot(); - //TODO: pitää pohjustaa rallit samalla tavalla + private final Rallit rallit = new Rallit(); /** @@ -28,7 +30,14 @@ public class Rekisteri { henkilot.lisaa(henkilo); } - //TODO: lisää ralli + + + /** + * @param ralli lisättävä ralli + */ + public void lisaa (Ralli ralli) { + rallit.lisaa(ralli); + } /** @@ -39,7 +48,13 @@ public class Rekisteri { return henkilot.anna(i); } - //TODO: palauta lista kaikista ralleista, johon henkilö on osallistunut + /** + * @param henkilo Henkilö kenen rallit halutaan tietää + * @return listan näistä ralleista + */ + public List<Ralli> annaRallit(Henkilo henkilo){ + return rallit.annaRallit(henkilo.getTunnusNro()); + } /** @@ -54,23 +69,6 @@ public class Rekisteri { Henkilo asunmaa = new Henkilo(); Henkilo elfyn = new Henkilo(); - /*Ralli pohjanmaa = new Ralli(); - Ralli kuopio = new Ralli(); - Ralli secto = new Ralli(); - pohjanmaa.rekisteroi(); - pohjanmaa.vastaaRalli(0); - kuopio.rekisteroi(); - kuopio.vastaaRalli(1); - secto.rekisteroi(); - secto.vastaaRalli(1); - - rekisteri.lisaa(pohjanmaa); - rekisteri.lisaa(kuopio); - rekisteri.lisaa(secto); - pohjanmaa.tulosta(System.out); - kuopio.tulosta(System.out); - secto.tulosta(System.out); */ - rovis.rekisteroi(); rovis.vastaahlo(); asunmaa.rekisteroi(); @@ -81,23 +79,57 @@ public class Rekisteri { rekisteri.lisaa(rovis); rekisteri.lisaa(asunmaa); rekisteri.lisaa(elfyn); + + Rallit rallit = new Rallit(); + + + Ralli pohjanmaa = new Ralli(); + Ralli kuopio = new Ralli(); + Ralli secto = new Ralli(); + pohjanmaa.rekisteroi(); + pohjanmaa.vastaaRalli(asunmaa.getTunnusNro()); + kuopio.rekisteroi(); + kuopio.vastaaRalli(rovis.getTunnusNro()); + secto.rekisteroi(); + secto.vastaaRalli(asunmaa.getTunnusNro()); + + rallit.lisaa(pohjanmaa); + rallit.lisaa(kuopio); + rallit.lisaa(secto); + + pohjanmaa.tulosta(System.out); + kuopio.tulosta(System.out); + secto.tulosta(System.out); + + System.out.println("=================== Testiä ====================="); + //Tulostetaan henkilön tiedot + for (int i=0; i<rekisteri.getHenkiloita(); i++) { + Henkilo henkilo = rekisteri.annaHenkilo(i); + System.out.println("Henkilö paikassa: " + i); + henkilo.tulosta(System.out); + + List<Ralli> rallit2 = rallit.annaRallit(2); + + + // Käy listan läpi ja tulostaa halutun (yläällä indeksi) rallin luoduista + for (Ralli ral : rallit2) { + System.out.print(ral.getTunnusNro() + " "); + ral.tulosta(System.out); }} + + int lkm = rekisteri.getHenkiloita(); + System.out.println("Henkilöitä on nyt " + lkm + "!"); + } catch (SailoException e) { System.err.println("Liikaa alkioita :("); //kun alkioita enemmän kun MAX sallii } - for (int i=0; i<rekisteri.getHenkiloita(); i++) { - Henkilo henkilo = rekisteri.annaHenkilo(i); - //Ralli ralli = rekisteri.annaRallit(henkilo); - //TODO: käytä rallilistaa - // tulosta iteraation avulla tietyn henkilön rallit - henkilo.tulosta(System.out); + } - int lkm = rekisteri.getHenkiloita(); - System.out.println("Henkilöitä on nyt " + lkm + "!"); + } -} +