Skip to content
Snippets Groups Projects
Commit a64ebc95 authored by Veritorakka's avatar Veritorakka
Browse files

Tein tehtävän 7

parent ebc06e0d
No related branches found
No related tags found
No related merge requests found
Pipeline #62167 passed
......@@ -63,9 +63,6 @@ public class Main {
* Testin jälkeen alla olevan rivin voi joko kommentoida tai poistaa.
*/
System.out.println("*** Harjoitustyöpohja käynnistyy ***");
KirjaKokoelma kirjat = luoKokoelma("loppu");
kirjat.tulostaKokoelma(System.out);
//Luo ensin uusi KirjaKokoelma olio, Käytä tehtävän 5 rutiinia
//Sen jälkeen tulosta kokoelma näyttöön käyttämällä tehtävän 6 rutiinia
......@@ -149,6 +146,34 @@ class KirjaKokoelma{
}
}
}
public List<Kirja> etsiKirjat(String hakusana, KirjanTiedot kentta) throws IllegalArgumentException {
if (hakusana == null || hakusana.isEmpty() || kentta == null) {
throw new IllegalArgumentException("Hakusana tai kenttä ei voi olla tyhjä");
}
List<Kirja> loytyneetKirjat = new ArrayList<>();
for (Kirja kirja : kirjaListaus) {
String kentanSisalto;
switch (kentta) {
case NIMI:
kentanSisalto = kirja.getKirjanNimi();
break;
case KIRJAILIJA:
kentanSisalto = kirja.getKirjailijanNimi();
break;
case JULKAISUVUOSI:
kentanSisalto = Integer.toString(kirja.getJulkaisuVuosi());
break;
default:
throw new IllegalArgumentException("Tuntematon kenttä: " + kentta);
}
if (kentanSisalto != null && kentanSisalto.toLowerCase().contains(hakusana.toLowerCase())) {
loytyneetKirjat.add(kirja);
}
}
return loytyneetKirjat;
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment