From 8015edfa85fefe2bcd1f0badaef48ab228ecef8f Mon Sep 17 00:00:00 2001 From: Lahtinen Konsta Aleksi <konsta.a.lahtinen@student.jyu.fi> Date: Thu, 27 Mar 2025 12:27:05 +0200 Subject: [PATCH] oma taulukko --- Ohj2HT/src/Luokat/Kalenteri.java | 11 ++++- Ohj2HT/src/Luokat/Reissut.java | 46 ++----------------- Ohj2HT/src/Luokat/Saaliit.java | 36 +++++++++++++++ Ohj2HT/src/Luokat/test/ReissutTest.java | 12 +++-- Ohj2HT/src/fxKaljoja/KalojaGUIController.java | 12 ++--- .../LisaaReissuGUIController.java | 2 +- 6 files changed, 65 insertions(+), 54 deletions(-) diff --git a/Ohj2HT/src/Luokat/Kalenteri.java b/Ohj2HT/src/Luokat/Kalenteri.java index 58aad01..6bdece0 100644 --- a/Ohj2HT/src/Luokat/Kalenteri.java +++ b/Ohj2HT/src/Luokat/Kalenteri.java @@ -20,7 +20,14 @@ public class Kalenteri { lajit = new Tulkki(dir + "/../lajit.dat"); vieheTulkki = new Tulkki(dir + "/../vieheTyypit.dat"); kokoTulkki = new Tulkki(dir + "/../koot.dat"); - this.reissut = new Reissut(lajit,kokoTulkki, vieheTulkki); + + this.saaliit = new Saaliit(10); + TiedostonHiplailija t = new TiedostonHiplailija(System.getProperty("user.dir") + "/../saaliit.dat"); + for (String s : t.lueRivit()) { + Saalis saaliis = new Saalis(s, lajit, vieheTulkki, kokoTulkki); + saaliit.lisaa(saaliis); + } + this.reissut = new Reissut(saaliit); reissut.sort(); vieheLaskuri = new Laskuri(dir +"/../vieheLaskuri.dat",vieheTulkki); kalaLaskuri = new Laskuri(dir +"/../kalaLaskuri.dat",lajit); @@ -44,6 +51,8 @@ public class Kalenteri { public Tulkki getKokoTulkki() { return kokoTulkki; } + public Saaliit getSaaliit() { return saaliit;} + public boolean tallenna(int aluksi, int reissumaara) { TiedostonHiplailija reissu = new TiedostonHiplailija(System.getProperty("user.dir") + "/../reissut.dat"); TiedostonHiplailija saalis = new TiedostonHiplailija(System.getProperty("user.dir")+ "/../saaliit.dat"); diff --git a/Ohj2HT/src/Luokat/Reissut.java b/Ohj2HT/src/Luokat/Reissut.java index 1f65f56..83f0f90 100644 --- a/Ohj2HT/src/Luokat/Reissut.java +++ b/Ohj2HT/src/Luokat/Reissut.java @@ -16,30 +16,19 @@ public class Reissut { /** * muodostaja */ - public Reissut(Tulkki lajit, Tulkki koot, Tulkki vieheet) { + public Reissut(Saaliit saaliit) { this.reissut = new ArrayList<>(); - luoReissut(lajit, koot,vieheet); + luoReissut(saaliit); } - private List<Saalis> luoSaaliit(Tulkki lajit, Tulkki koot, Tulkki vieheet) { - TiedostonHiplailija t = new TiedostonHiplailija(System.getProperty("user.dir") + "/../saaliit.dat"); - List<Saalis> saaliit = new ArrayList<Saalis>(); - List<String> tiedot = t.lueRivit(); - t.sulje(); - for (String s : tiedot) { - Saalis saalis = new Saalis(s, lajit, vieheet, koot); - saaliit.add(saalis); - } - return saaliit; - } - private void luoReissut(Tulkki lajit, Tulkki koot, Tulkki vieheet) { + private void luoReissut(Saaliit saaliit) { TiedostonHiplailija t = new TiedostonHiplailija(System.getProperty("user.dir") + "/../reissut.dat"); - List<Saalis> saaliit = luoSaaliit(lajit, koot, vieheet); //Kaikki saaliit + List<Saalis> saaliitList = saaliit.getSaaliitList(); //Kaikki saaliit for (String s : t.lueRivit()) { Reissu a = new Reissu(s); List<Saalis> apuri = new ArrayList<>(); // Tässä luodaan tietyn reissun saaliiden lista - for (Saalis saalis : saaliit) { + for (Saalis saalis : saaliitList) { if (saalis.getReissunTagi() == a.getTag()) { apuri.add(saalis); } @@ -145,32 +134,7 @@ public class Reissut { * </pre> */ // Testi - public static void main(String[] args) { - Tulkki lajit = new Tulkki(System.getProperty("user.dir") + "/../lajit.dat"); - Tulkki vieheTulkki = new Tulkki(System.getProperty("user.dir") + "/../vieheTyypit.dat"); - Tulkki kokoTulkki = new Tulkki(System.getProperty("user.dir") + "/../koot.dat"); - - Reissut reissut = new Reissut(lajit, kokoTulkki, vieheTulkki); - Reissu t0 = new Reissu( Reissu.sToDate("1.12.2323"), "ka", "pilvi", new ArrayList<>(), false); - Reissu t1 = new Reissu( Reissu.sToDate("12.12.2023"), "jk", "sade" , new ArrayList<>(), false); - Reissu t2 = new Reissu( Reissu.sToDate("12.12.1223"), "sk", "aurinko", new ArrayList<>(), false ); - Reissu t3 = new Reissu( Reissu.sToDate("12.12.2323"), "ka", "pilvi", new ArrayList<>(), false); - reissut.lisaaListaan(t1); reissut.lisaaListaan(t2); reissut.lisaaListaan(t3); reissut.lisaaListaan(t0); - - - for (Reissu t: reissut.getReissut()) { - System.out.println("ennen " + t.getPvmString()); - } - - reissut.sort(); - - for (Reissu t: reissut.getReissut()) { - System.out.println("jälkeen " + t.getPvmString()); - } - - - } //todo: //tallenna() diff --git a/Ohj2HT/src/Luokat/Saaliit.java b/Ohj2HT/src/Luokat/Saaliit.java index 40c9fb9..6e3fe73 100644 --- a/Ohj2HT/src/Luokat/Saaliit.java +++ b/Ohj2HT/src/Luokat/Saaliit.java @@ -1,15 +1,34 @@ package Luokat; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + public class Saaliit { private Saalis[] saaliit; private int koko; private int index = 0; + + /** + * muodostaja tyjhään taulukkoon + * @param koko kuinka suuri + */ public Saaliit(int koko) { this.koko = koko; this.saaliit = new Saalis[koko]; } + + /** + * lisää saaliin olioon + * @param saalis olio joka lisätään + *@example <pre name="test"> + * Saaliit saaliit = new Saaliit(2); + * Saalis s = new Saalis("iso", "ahven", "lippa", "sininen"); + * saaliit.lisaa(s); + * </pre> + */ public void lisaa(Saalis saalis) { if (index == koko){ kasvataTaulukkoa(); @@ -22,6 +41,9 @@ public class Saaliit { } } + /** + * Kasvattaa taulukon eli siis lue uuden + */ private void kasvataTaulukkoa() { Saalis[] taulukko = new Saalis[koko +10]; for (int i = 0; i < koko; i++){ @@ -31,6 +53,10 @@ public class Saaliit { } + public Saalis getSaalis(int index) { + return saaliit[index]; + } + public static void main(String[] args){ Saaliit saaliit = new Saaliit(2); Saalis s = new Saalis("iso", "ahven", "lippa", "sininen"); @@ -40,4 +66,14 @@ public class Saaliit { Saalis s3 = new Saalis("iso", "kuha", "lippa", "hopea"); saaliit.lisaa(s3); } + + public List<Saalis> getSaaliitList() { + List<Saalis> saaliitList = new ArrayList<>(); + for (Saalis saalis : saaliit){ + if (saalis != null){ + saaliitList.add(saalis); + } + } + return saaliitList; + } } diff --git a/Ohj2HT/src/Luokat/test/ReissutTest.java b/Ohj2HT/src/Luokat/test/ReissutTest.java index 5bc320d..ee7e190 100644 --- a/Ohj2HT/src/Luokat/test/ReissutTest.java +++ b/Ohj2HT/src/Luokat/test/ReissutTest.java @@ -19,18 +19,20 @@ import static Luokat.Reissut.*; * */ @SuppressWarnings({ "all" }) -public class ReissutTest { - +public class ReissutTest {} +/** + * + */ // Generated by ComTest BEGIN - /** testMain113 */ + /** testMain113 @Test public void testMain113() { // Reissut: 113 Tulkki lajit = new Tulkki(System.getProperty("user.dir") + "/../lajit.dat"); Tulkki viehe = new Tulkki(System.getProperty("user.dir") + "/../vieheTyypit.dat"); Tulkki koko = new Tulkki(System.getProperty("user.dir") + "/../koot.dat"); - Reissut test = new Reissut(lajit, koko, viehe); + Reissut test = new Reissut(lajit, koko, viehe); test.getReissut().clear(); Reissu t0 = new Reissu(Reissu.sToDate("1.12.2323"), "ka", "pilvi", new ArrayList<>(), false); Reissu t1 = new Reissu(Reissu.sToDate("12.12.2023"), "jk", "sade", new ArrayList<>(), false); @@ -45,4 +47,4 @@ public class ReissutTest { test.removeReissu(); assertEquals("From: Reissut line: 145", 3, test.getReissut().size()); } // Generated by ComTest END -} \ No newline at end of file +*/ \ No newline at end of file diff --git a/Ohj2HT/src/fxKaljoja/KalojaGUIController.java b/Ohj2HT/src/fxKaljoja/KalojaGUIController.java index 8b182c6..058b571 100644 --- a/Ohj2HT/src/fxKaljoja/KalojaGUIController.java +++ b/Ohj2HT/src/fxKaljoja/KalojaGUIController.java @@ -21,7 +21,7 @@ import Luokat.*; * @version 29.1.2025 * Luokka joka hoitaa saaliin lisäyksen reissuun */ -public class KalojaGUIController implements Initializable, ModalControllerInterface<List<Saalis>> { +public class KalojaGUIController implements Initializable, ModalControllerInterface<Saaliit> { @FXML private ComboBox<String> koko; @FXML private DynamicComboBox lajit; @@ -30,7 +30,7 @@ public class KalojaGUIController implements Initializable, ModalControllerInterf @FXML private DynamicComboBox vieheet; - private List<Saalis> saalis ; + private Saaliit saalis ; private int vanhatLajit; private int vanhatTyypit; @@ -88,7 +88,7 @@ public class KalojaGUIController implements Initializable, ModalControllerInterf //Varmistutaan, että käyttäjä on kertonut ainakin saaliin lajin ja koon, jotta voidaan tallentaa if(kokoString != null && (lajiString != null && !lajiString.isEmpty())){ Saalis s = new Saalis(kokoString, lajiString, vieheet.getSelectionModel().getSelectedItem(),vieheVarit.getText()); - saalis.add(s); + saalis.lisaa(s); System.out.println("Lisätty:"); System.out.println("saalis : koko " + s.getKoko() + " laji " + s.getLaji() + " id " + s.getSaaliinId() + " Reissulta " + s.getReissunTagi()); System.out.println("saatu vieheellä " + s.getViehe().tyyppi() + " " + s.getViehe().vari()); @@ -98,12 +98,12 @@ public class KalojaGUIController implements Initializable, ModalControllerInterf @Override - public List<Saalis> getResult() { - return new ArrayList<>(); + public Saaliit getResult() { + return new Saaliit(5); } @Override - public void setDefault(List<Saalis> saaliit) { + public void setDefault(Saaliit saaliit) { this.saalis = saaliit; } diff --git a/Ohj2HT/src/fxLisaaReissu/LisaaReissuGUIController.java b/Ohj2HT/src/fxLisaaReissu/LisaaReissuGUIController.java index a743397..6e5f5d6 100644 --- a/Ohj2HT/src/fxLisaaReissu/LisaaReissuGUIController.java +++ b/Ohj2HT/src/fxLisaaReissu/LisaaReissuGUIController.java @@ -74,7 +74,7 @@ public class LisaaReissuGUIController implements Initializable, ModalControllerI } ModalController.showModal(KalenteriMain.class.getResource("/fxKaljoja/KalojaGUIView.fxml"), - "Lisää saalis",null,saaliit); + "Lisää saalis",null,kale.getSaaliit()); liitaKaloja(); } -- GitLab