From 329bf1f032ad656c015f6f35db4d55ceb514857b Mon Sep 17 00:00:00 2001 From: Matilainen Jaakko <jaakko.a.matilainen@student.jyu.fi> Date: Thu, 20 Mar 2025 18:31:50 +0200 Subject: [PATCH] Tehtavat.Java muokattu --- src/fxHarakka/luokat/Tehtava.java | 4 +- src/fxHarakka/luokat/Tehtavat.java | 66 ++++++++++++++++++++++++++---- 2 files changed, 62 insertions(+), 8 deletions(-) diff --git a/src/fxHarakka/luokat/Tehtava.java b/src/fxHarakka/luokat/Tehtava.java index 5a876ea..2ae8b79 100644 --- a/src/fxHarakka/luokat/Tehtava.java +++ b/src/fxHarakka/luokat/Tehtava.java @@ -1,5 +1,5 @@ package fxHarakka.luokat; - +import java.time.LocalDate; /** * ---------------------Tehtava == yhden tehtän luokka----------------------- * | Vastuualueet: | | @@ -27,6 +27,8 @@ public class Tehtava { private int id; //tehtävän id numero private String lisatieto = ""; //tehtävän lisätiedot + + /** *TODO sitten kun Pvm ja Aika luokat lisätty ne pitää lisätä muodostajaan ja ainakin tällä hetkellä * lisaa Tehtaa metodiin diff --git a/src/fxHarakka/luokat/Tehtavat.java b/src/fxHarakka/luokat/Tehtavat.java index 13fa421..6274552 100644 --- a/src/fxHarakka/luokat/Tehtavat.java +++ b/src/fxHarakka/luokat/Tehtavat.java @@ -1,5 +1,6 @@ package fxHarakka.luokat; +import java.io.IOException; import java.util.ArrayList; import java.util.Iterator; import java.util.Optional; @@ -17,9 +18,11 @@ import java.util.Optional; * -------------------------------------------------------------------------- */ public class Tehtavat { - private int maara; + private int maara = 0; + private int maxMaara = 10; private int id; - private ArrayList<Tehtava> alkiot = new ArrayList<>(); + private String tiedostoNimi = ""; + private Tehtava tahtavaAlkiot[] = new Tehtava[maxMaara]; //-----------------------MUODOSTAJAT-TEHTAVAT---------------------------- @@ -27,14 +30,12 @@ public class Tehtavat { //ei tarvitse erikseen muodostajia public Tehtavat() { - } //-----------------------METODIT - TEHTAVAT---------------------------- /** - * * @return palauttaa tehtävien määrän */ public int getMaara() { @@ -43,27 +44,78 @@ public class Tehtavat { /** - * lisää tehtävän tietorakenteeseen + * Lisää tehtävä jäsenen tietorakenteeseen * @param tehtava lisättävä tehtävä */ public void lisaaTehtava (Tehtava tehtava) { - alkiot.add(tehtava); + tahtavaAlkiot[maara++] = tehtava; + } + + + /** + * poistaa tehtävän tietorakenteesta indeksin perusteella + * @param tehtava poistettava tehtävä + */ + public void poistaTehtava (Tehtava tehtava) { + + for (int i = 0; i < maxMaara; i++) { + if (tahtavaAlkiot[i] == tehtava && i < maxMaara - 1) { + for (int j = i; j < maxMaara-1; j++) { + tahtavaAlkiot[i] = tahtavaAlkiot[i+1]; + } + } + } } + /** * @return Tehtävä * @param i Tehtävän indeksi tietorakenteessa joka halutaan */ public Tehtava anna (int i) { - return alkiot.get(i); + return tahtavaAlkiot[i]; + } + + + /** + * Tallentaa tehtävän rekisteriin + */ + public void tallenna () { } + /** + * Testipääohjelma + * @param args ei käytössä + */ + public static void main(String args[]) { + Tehtavat tehtavat = new Tehtavat(); + + Tehtava labratyo1 = new Tehtava(); + Tehtava luento1 = new Tehtava(); + + try { + tehtavat.lisaaTehtava(labratyo1); + tehtavat.lisaaTehtava(luento1); + tehtavat.poistaTehtava(luento1); + System.out.println("============= Tehtävät testi ================="); + + for (int i = 0; i < tehtavat.getMaara(); i++) { + Tehtava tehtava = tehtavat.anna(i); + System.out.println("Jäsen nro: " + i); + } + + } catch (Exception e) { + System.out.println("jasen olio ei palauta alkiota" + e.getMessage()); + } + + } + -- GitLab