From 49d295f65ad28bc03af20f4b4681c1023600e114 Mon Sep 17 00:00:00 2001 From: Lahtinen Konsta Aleksi <konsta.a.lahtinen@student.jyu.fi> Date: Fri, 28 Mar 2025 11:38:59 +0200 Subject: [PATCH] =?UTF-8?q?binhaku=20sek=C3=A4=20toimivat=20id:t?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Ohj2HT/src/Luokat/Reissu.java | 7 ++++- Ohj2HT/src/Luokat/Saaliit.java | 28 +++++++++++++++++++ Ohj2HT/src/Luokat/Saalis.java | 7 ++++- .../fxKalenteri/KalenteriGUIController.java | 1 + kalaLaskuri.dat | 4 +-- reissut.dat | 1 - saaliit.dat | 6 ++-- vieheLaskuri.dat | 4 +-- 8 files changed, 47 insertions(+), 11 deletions(-) diff --git a/Ohj2HT/src/Luokat/Reissu.java b/Ohj2HT/src/Luokat/Reissu.java index 5265950..dc03460 100644 --- a/Ohj2HT/src/Luokat/Reissu.java +++ b/Ohj2HT/src/Luokat/Reissu.java @@ -175,7 +175,12 @@ public class Reissu { this.keli = t[3]; int tagi = Integer.parseInt(t[0]); this.reissunTag = tagi; - SeuraavanReissunTag++; + if (reissunTag > SeuraavanReissunTag) { + this.reissunTag = SeuraavanReissunTag +1; + } + else { + SeuraavanReissunTag++; + } this.poistetaanko = false; } diff --git a/Ohj2HT/src/Luokat/Saaliit.java b/Ohj2HT/src/Luokat/Saaliit.java index a5f9d35..2903494 100644 --- a/Ohj2HT/src/Luokat/Saaliit.java +++ b/Ohj2HT/src/Luokat/Saaliit.java @@ -1,5 +1,7 @@ package Luokat; +import fi.jyu.mit.fxgui.Dialogs; + import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -96,4 +98,30 @@ public class Saaliit { Saalis s3 = new Saalis("iso", "kuha", "lippa", "hopea"); saaliit.lisaa(s3); } + + public void poista(int saaliinId) { + int poistettava = binHaku(saaliinId); + if (poistettava == -1) { + return; + } + saaliit[poistettava] = null; + } + + public int binHaku(int key) { + int alin = 0; + int ylin = index - 1; + while (alin <= ylin){ + int keski = (alin + ylin) / 2; + if (saaliit[keski].getSaaliinId() == key){ + return keski; + } + if (saaliit[keski].getSaaliinId() < key){ + alin = keski + 1; + } + if (saaliit[keski].getSaaliinId() > key){ + ylin = keski - 1; + } + } + return -1; + } } diff --git a/Ohj2HT/src/Luokat/Saalis.java b/Ohj2HT/src/Luokat/Saalis.java index 1a5faae..84f49dd 100644 --- a/Ohj2HT/src/Luokat/Saalis.java +++ b/Ohj2HT/src/Luokat/Saalis.java @@ -21,7 +21,12 @@ public class Saalis { tiedotLuku[i] = Integer.parseInt(tiedot[i]); } this.saaliinId = tiedotLuku[0]; - seuraavanSaaliinId = tiedotLuku[0]+1; + if (this.saaliinId > seuraavanSaaliinId) { + seuraavanSaaliinId = this.saaliinId + 1; + } + else { + seuraavanSaaliinId++; + } laji = l.getValueFromId(tiedotLuku[1]); koko = k.getValueFromId(tiedotLuku[2]); reissunTagi = tiedotLuku[3]; diff --git a/Ohj2HT/src/fxKalenteri/KalenteriGUIController.java b/Ohj2HT/src/fxKalenteri/KalenteriGUIController.java index fbef753..857c9be 100644 --- a/Ohj2HT/src/fxKalenteri/KalenteriGUIController.java +++ b/Ohj2HT/src/fxKalenteri/KalenteriGUIController.java @@ -170,6 +170,7 @@ public class KalenteriGUIController implements Initializable { for (Saalis s: valittuReissu.getSaaliit()){ kalenteri.getKalaLaskuri().vahenna(kalenteri.getLajiTulkki().getIdFromValue(s.getLaji())); kalenteri.getVieheLaskuri().vahenna(kalenteri.getVieheTulkki().getIdFromValue(s.getViehe().tyyppi())); + kalenteri.getSaaliit().poista(s.getSaaliinId()); } kalenteri.getReissut().removeReissu(); System.out.println("Jälkeen " + kalenteri.getReissut().getReissut().size()); diff --git a/kalaLaskuri.dat b/kalaLaskuri.dat index d2a0b17..0be46e8 100644 --- a/kalaLaskuri.dat +++ b/kalaLaskuri.dat @@ -2,5 +2,5 @@ 2|2 3|1 4|1 -5|2 -6|1 +5|1 +6|0 diff --git a/reissut.dat b/reissut.dat index c715403..03715b0 100644 --- a/reissut.dat +++ b/reissut.dat @@ -1,6 +1,5 @@ 1|17.11.2025|Vuontee|aurinkoinen 2|16.11.2025|Tikkakoski|sateinen 3|11.05.2025|Laukaa|aurinkoinen -4|20.03.2025|Keljo|aurinkoinen 5|19.03.2025|Rovaniemi|Aurinkoinen 7|12.03.2024|Laukaa|Pilvinen diff --git a/saaliit.dat b/saaliit.dat index 805da72..1c6ca5c 100644 --- a/saaliit.dat +++ b/saaliit.dat @@ -1,11 +1,9 @@ -5|1|3|1|3|sininen -6|2|1|1|1|hopea 2|1|3|2|2|Fire tiger 3|2|1|2|1|hopea 4|4|1|3|1|vihreä -5|6|3|4|1|kuparinen -5|5|1|4|3|musta +6|2|1|1|1|hopea 7|5|1|5|1|kupari 8|3|2|6|1|hopeinen 9|1|2|7|1|sininen 10|3|3|7|2|keltainen +11|1|3|1|3|sininen diff --git a/vieheLaskuri.dat b/vieheLaskuri.dat index 3a979cc..6d7f15d 100644 --- a/vieheLaskuri.dat +++ b/vieheLaskuri.dat @@ -1,3 +1,3 @@ -1|6 +1|5 2|1 -3|2 +3|1 -- GitLab