From 97f8f004257dca3cd080f21b3b38e0880e920132 Mon Sep 17 00:00:00 2001
From: Kiljala Renne Lauri Olavi <renne.l.o.kiljala@student.jyu.fi>
Date: Thu, 20 Mar 2025 18:30:29 +0200
Subject: [PATCH] projekti luokka toimii rekisteriin asti

---
 src/fxHarakka/luokat/Harakka.java   | 26 +++++++++++++++++++
 src/fxHarakka/luokat/Projekti.java  |  9 +++----
 src/fxHarakka/luokat/Projektit.java | 40 +++++++++++++----------------
 3 files changed, 47 insertions(+), 28 deletions(-)

diff --git a/src/fxHarakka/luokat/Harakka.java b/src/fxHarakka/luokat/Harakka.java
index e0adb2e..230f464 100644
--- a/src/fxHarakka/luokat/Harakka.java
+++ b/src/fxHarakka/luokat/Harakka.java
@@ -6,6 +6,32 @@ public class Harakka {
     private final Projektit projektit = new Projektit();
 
 
+    public static void main (String[] args) {
+       Harakka harakka = new Harakka();
+
+       Projekti projekti1 = new Projekti("Projekti1","Fysiikka");
+       Projekti projekti2 = new Projekti("Projekti2", "Ohjelmointi");
+
+       projekti1.rekisteroiProjekti();
+       projekti2.rekisteroiProjekti();
+
+       harakka.lisaaProjekti(projekti1);
+
+       harakka.lisaaProjekti(projekti2);
+
+
+
+
+
+    }
+
+    /**Välittää projektit luokalle projektin ja projektit luokka lisää sen tietokantaan
+     *
+     * @param projekti lisättävä projekti
+     */
+    public void lisaaProjekti (Projekti projekti){
+        projektit.lisaaProjekti(projekti);
+    }
 
 
 
diff --git a/src/fxHarakka/luokat/Projekti.java b/src/fxHarakka/luokat/Projekti.java
index 548bfc7..adef0ac 100644
--- a/src/fxHarakka/luokat/Projekti.java
+++ b/src/fxHarakka/luokat/Projekti.java
@@ -72,13 +72,7 @@ public class Projekti {
     }
 
 
-    /**Aliohjelma joka antaa projektin lisättäväksi projektit luokalle joka lisää sen tietorakenteeseen
-     *
-     */
-    public void lisaaProjekti (){
-        this.
 
-    }
 
     /**
      *
@@ -103,6 +97,7 @@ public class Projekti {
     public String getAihe() {
         return aihe;
     }
+    
 
     @Override
     public String toString(){
@@ -114,6 +109,8 @@ public class Projekti {
     //maini testaamista varten
     public static void main(String[] args){
 
+
+
     }
 
 
diff --git a/src/fxHarakka/luokat/Projektit.java b/src/fxHarakka/luokat/Projektit.java
index b28744d..7b57e08 100644
--- a/src/fxHarakka/luokat/Projektit.java
+++ b/src/fxHarakka/luokat/Projektit.java
@@ -1,7 +1,6 @@
 package fxHarakka.luokat;
 
 import java.util.ArrayList;
-import java.util.Collections;
 
 /**---------------Projektien (monikko) luokka--------------------------------
  * |                                                    | -Projekti         |
@@ -15,12 +14,11 @@ import java.util.Collections;
  * | - Etsii ja lajittelee (avustajana projekti luokka) |                   |
  */
 public class Projektit {
-    private int maara;
     //private int maxMaara; //tätä ei näillänäkymin tarvitse johtuen tietorakenteesta
                             //--> ei tarvitse itse huolehtia kasvatuksesta
     private String kokoNimi = ""; //projektit nimi
     private String tied = "";     //tiedostosijainti josta luetaan ja kirjoitetaa
-    private ArrayList<Projekti> alkiot = new ArrayList<>(); //varaa autom. oikean määrän alkioita
+    private ArrayList<Projekti> projektiAlkiot = new ArrayList<>(); //varaa autom. oikean määrän alkioita
 
     //arraylist on nyt staattinen mutta oliot sisällä ei eli pitäis olla ok?? jos tulee ongelmia niin
     //pitää mennä Projekti luokkaan ja tehdä lisaaProjekti ei-staattiseksi ja alla lisaaProjekti myös
@@ -30,12 +28,11 @@ public class Projektit {
 
     /**
      *
-     * @param maara     Nykyinen alkioiden määrä
+     *
      * @param kokoNimi  projektikokoelman nimi
      * @param tied      tiedostosijainti josta luetaan ja talletetaan
      */
-    public Projektit(int maara, String kokoNimi, String tied) {
-        this.maara = maara;
+    public Projektit(String kokoNimi, String tied) {
         this.kokoNimi = kokoNimi;
         this.tied = tied;
     }
@@ -48,7 +45,6 @@ public class Projektit {
      * oletuksena luo 10 tyhjää alkioita
      */
     public Projektit() {
-        this.maara = 0;
         this.kokoNimi = "Harakka";
         this.tied = "projektit.dat";
     }
@@ -57,30 +53,30 @@ public class Projektit {
 
     //-----------------------METODIT - PROJEKTIT----------------------------
 
+
     /**
-     *
-     * @return palauttaa tietorakenteen alkioiden määrän
+     * Lisää projektin tietorakenteeseen
+     * @param projekti lisättävä projekti
      */
-    public int getMaara() {
-        return maara;
+    public void lisaaProjekti(Projekti projekti){
+        projektiAlkiot.add(projekti);
+        System.out.println("projekti lisätty! " + projekti);
     }
 
-    /**
+
+    /** Poistaa valitun projektin tietokannasta
      *
-     * @param maara asettaa tietorakenteen alkioiden määrän
+     * @param ind poistettavan projektin indeksi
      */
-    public void setMaara(int maara) {
-        this.maara = maara;
+    public void poistaProjekti(int ind) {
+        projektiAlkiot.remove(ind);
+        System.out.println("Poistettu projekti! : " + projektiAlkiot.get(ind));
+
     }
 
 
-    /**
-     * Lisää projektin tietorakenteeseen
-     * @param projekti lisättävä projekti
-     */
-    public void lisaaProjekti(Projekti projekti){
-        alkiot.add(projekti); // lisää projektin tietorakenteeseen
-    }
+
+
 
 
 }
-- 
GitLab