From ca89b6fd661c952939646ac81927b17b3443d0b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Koivisto=20Ida=20Maria=20Hannuntyt=C3=A4r?= <ida.m.koivisto@student.jyu.fi> Date: Fri, 21 Mar 2025 10:29:08 +0200 Subject: [PATCH] =?UTF-8?q?lis=C3=A4tty=20TODO=20ralleille?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/RalliJava/Ralli.java | 23 ++++++++++++++------ src/RalliJava/Rallit.java | 42 +++++++++++++++++++++++------------- src/RalliJava/Rekisteri.java | 26 ++++++++++++++++++++++ 3 files changed, 70 insertions(+), 21 deletions(-) diff --git a/src/RalliJava/Ralli.java b/src/RalliJava/Ralli.java index ba6f997..bcc9a7e 100644 --- a/src/RalliJava/Ralli.java +++ b/src/RalliJava/Ralli.java @@ -19,6 +19,7 @@ public class Ralli { * */ private int tunnusNro; + private int htunnusNro; private String rallinNimi = ""; private String sijainti = ""; private int osallistujienMaara; @@ -32,19 +33,23 @@ public class Ralli { private static int seuraavaNro = 0; /** + * @return rallille seuraava identifioiva tunnusnumero * */ - public void rekisteroi() { + public int rekisteroi() { this.tunnusNro = seuraavaNro; seuraavaNro++; + return tunnusNro; } /** * Vastaa randomisti eri henkilöiden tietoja + * @param nro tunnusnumero */ - public void vastaaRalli() { + public void vastaaRalli(int nro) { + htunnusNro = nro; Random r = new Random(); int n = r.nextInt(4); int sr = r.nextInt(5); @@ -78,9 +83,10 @@ public class Ralli { /** + * Kun halutaan tietää jonkun rallin identifioiva tunnusnumero * @return tunnusnro */ - public int getTunnusNro() { + public int getTunnusNro() { return tunnusNro; } @@ -91,6 +97,7 @@ public class Ralli { //ei välttämättä tarttis } + /** * @param tunnusNro id * @param rNimi nimi @@ -99,6 +106,7 @@ public class Ralli { * @param osallistujienMaara määrä * @param ilmottautumismaksu koko */ + /* public Ralli(int tunnusNro, String rNimi, String sijainti, String jarjestaja, int osallistujienMaara, int ilmottautumismaksu) { this.tunnusNro = tunnusNro; this.rallinNimi = rNimi; @@ -108,6 +116,8 @@ public class Ralli { this.ilmottautumismaksu = ilmottautumismaksu; } + */ + /** * @param tulostettava tietovirta mitä tulostetaan */ @@ -122,12 +132,13 @@ public class Ralli { /** - * @return henkilön nimi + * @return rallin nimi */ public String getNimi() { return this.rallinNimi; } + /** * @param args ei käytössä */ @@ -135,10 +146,10 @@ public class Ralli { Ralli kuopio = new Ralli(); Ralli pohjanmaa = new Ralli(); kuopio.rekisteroi(); - kuopio.vastaaRalli(); + kuopio.vastaaRalli(0); kuopio.tulosta(System.out); pohjanmaa.rekisteroi(); - pohjanmaa.vastaaRalli(); + pohjanmaa.vastaaRalli(1); pohjanmaa.tulosta(System.out); //elfyn.rekisteroi(); //elfyn.vastaahlo(); diff --git a/src/RalliJava/Rallit.java b/src/RalliJava/Rallit.java index 2b62505..2a64bcc 100644 --- a/src/RalliJava/Rallit.java +++ b/src/RalliJava/Rallit.java @@ -4,6 +4,7 @@ import java.util.ArrayList; import java.util.Collection; import java.util.List; + /** * @author idamk * @version 12.2.2025 @@ -11,7 +12,6 @@ import java.util.List; */ public class Rallit { - //private static final int MAX_RALLIT = 5; private Collection<Ralli> alkiot = new ArrayList<Ralli>(); int lkm = 0; @@ -24,20 +24,19 @@ public class Rallit { } - /*public List<Ralli> annaRallit(int tunnusNro){ - List<Ralli> loydetyt = new ArrayList<Ralli>(); - for (Ralli ralli:alkiot) - if(ralli.getHenkiloNro() === tunnusNro) loydetyt.add() - - */ - - /** - * @return lkm + * Haetaan kaikki henkilön osallistumat rallit + * @param tunnusNro rallin tunnusnumero + * @return lista ralleista johon haluttu henkilö on osallistunut */ - public int getLkm() { - return lkm; + public List<Ralli> annaRallit(int tunnusNro) { + List<Ralli> loydetyt = new ArrayList<Ralli>(); + for (Ralli ralli:alkiot) //ITERAATTORI + if(ralli.getTunnusNro() == tunnusNro) loydetyt.add(ralli); + return loydetyt; + } + /** @@ -58,16 +57,29 @@ public class Rallit { Ralli kuopio = new Ralli(); Ralli secto = new Ralli(); pohjanmaa.rekisteroi(); - pohjanmaa.vastaaRalli(); + pohjanmaa.vastaaRalli(0); kuopio.rekisteroi(); - kuopio.vastaaRalli(); + kuopio.vastaaRalli(1); secto.rekisteroi(); - secto.vastaaRalli(); + secto.vastaaRalli(1); rallit.lisaa(pohjanmaa); rallit.lisaa(kuopio); rallit.lisaa(secto); + pohjanmaa.tulosta(System.out); + kuopio.tulosta(System.out); + secto.tulosta(System.out); + + System.out.println("======================== Rallit testi ========================"); + + List<Ralli> rallit2 = rallit.annaRallit(2); + + // 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 ff6983d..2bc2674 100644 --- a/src/RalliJava/Rekisteri.java +++ b/src/RalliJava/Rekisteri.java @@ -8,6 +8,7 @@ package RalliJava; public class Rekisteri { private final Henkilot henkilot = new Henkilot(); + //TODO: pitää pohjustaa rallit samalla tavalla /** @@ -27,6 +28,8 @@ public class Rekisteri { henkilot.lisaa(henkilo); } + //TODO: lisää ralli + /** * @param i indeksi @@ -36,6 +39,8 @@ public class Rekisteri { return henkilot.anna(i); } + //TODO: palauta lista kaikista ralleista, johon henkilö on osallistunut + /** * @param args ei käytössä @@ -48,6 +53,24 @@ public class Rekisteri { Henkilo rovis = new Henkilo(); 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(); @@ -64,6 +87,9 @@ public class Rekisteri { 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); } -- GitLab