Skip to content
Snippets Groups Projects
Commit ac314ff4 authored by Linda's avatar Linda
Browse files

lopullinen versio?

parent 8457af98
No related branches found
No related tags found
No related merge requests found
...@@ -11,24 +11,16 @@ public class KirjaKokoelma { ...@@ -11,24 +11,16 @@ public class KirjaKokoelma {
public KirjaKokoelma(String omistaja) { public KirjaKokoelma(String omistaja) {
this.kokoelmanOmistaja = omistaja; this.kokoelmanOmistaja = omistaja;
this.kirjaListaus = new ArrayList<Kirja>(); kirjaListaus = new ArrayList<Kirja>();
} }
public void setOmistaja(String omistaja) { public void setOmistaja(String omistaja) {
this.kokoelmanOmistaja = omistaja; this.kokoelmanOmistaja = omistaja;
} }
public String getOmistaja() { return kokoelmanOmistaja; } public String getOmistaja() { return kokoelmanOmistaja; }
public ArrayList<Kirja> getListaus() { return kirjaListaus; } public ArrayList<Kirja> getListaus() { return kirjaListaus; }
public void lisaaKirja(Kirja kirja) { public void lisaaKirja(Kirja kirja) {
kirjaListaus.add(kirja); kirjaListaus.add(kirja);
} }
//TODO
public void tulostaKokoelma(PrintStream out) {
}
//TODO
public List<Kirja> etsiKirjat(String hakusana, KirjanTiedot kentta) throws IllegalArgumentException{
}
} }
...@@ -37,6 +37,7 @@ public class Main { ...@@ -37,6 +37,7 @@ public class Main {
*/ */
System.out.println("*** Harjoitustyöpohja käynnistyy ***"); System.out.println("*** Harjoitustyöpohja käynnistyy ***");
//Luo ensin uusi KirjaKokoelma olio, Käytä tehtävän 5 rutiinia //Luo ensin uusi KirjaKokoelma olio, Käytä tehtävän 5 rutiinia
...@@ -46,6 +47,7 @@ public class Main { ...@@ -46,6 +47,7 @@ public class Main {
//Lopuksi hae jokin kirja kokoelmasta käyttäen tehtävän 7 rutiinia //Lopuksi hae jokin kirja kokoelmasta käyttäen tehtävän 7 rutiinia
//Tulosta hakutulos. Sen voit tehdä suoraan main-metodissa. //Tulosta hakutulos. Sen voit tehdä suoraan main-metodissa.
}
public static Kirja luoKirja(ArrayList<String> lista) { public static Kirja luoKirja(ArrayList<String> lista) {
Kirja kirja = new Kirja(lista.get(0), lista.get(1), Integer.parseInt(lista.get(2))); Kirja kirja = new Kirja(lista.get(0), lista.get(1), Integer.parseInt(lista.get(2)));
return kirja; return kirja;
...@@ -54,34 +56,35 @@ public class Main { ...@@ -54,34 +56,35 @@ public class Main {
//Tehtävä 4 //Tehtävä 4
public static ArrayList<String> kysyTietoja(String[] kysyttavat, String lopetusmerkki){ public static ArrayList<String> kysyTietoja(String[] kysyttavat, String lopetusmerkki){
Scanner scanner = new Scanner(System.in); Scanner scanner = new Scanner(System.in);
ArrayList<String> palautus = new ArrayList<String>(); ArrayList<String> palautus = new ArrayList<String>(); //Rutiinin palauttama arraylist olio
for (int i = 0; i < kysyttavat.length; i++) { for (int i = 0; i < kysyttavat.length; i++) { //käy läpi parametrina annetun kysyttavat string arrayn
System.out.println("Syötä " + kysyttavat[i]); System.out.println("Syötä " + kysyttavat[i]); //ja kysyy kaikki siinä annetut tiedot käyttäjältä.
String syote = scanner.nextLine(); String syote = scanner.nextLine();
if (syote.equals(lopetusmerkki)) { if (syote.equals(lopetusmerkki)) { //Jos käyttäjä syöttää lopetusmerkin, for loop pysähtyy
palautus.add(syote); palautus.add(syote); //ja lopetusmerkki lisätään kirjan tietoihin, että
break; break; //luoKokoelma()-rutiini osaa jättää sen kirjan lisäämättä
} } //ja lopettaa rutiini.
else { palautus.add(syote); } else { palautus.add(syote); }
} }
return palautus; return palautus;
} }
//Tehtävä 5 //Tehtävä 5
public static KirjaKokoelma luoKokoelma(String lopetusmerkki) { public static KirjaKokoelma luoKokoelma(String lopetusmerkki) {
Scanner scanner = new Scanner(System.in); Scanner scanner = new Scanner(System.in);
System.out.println("Anna kirjakokoelman omistajan nimi:"); System.out.println("Anna kirjakokoelman omistajan nimi:");
String nimi = scanner.nextLine(); String nimi = scanner.nextLine();
KirjaKokoelma kokoelma = new KirjaKokoelma(nimi); KirjaKokoelma kokoelma = new KirjaKokoelma(nimi); //Luodaan uusi KirjaKokoelma syötteen perusteella.
String[] kysyttavat = new String[]{"kirjan nimi", "kirjailijan nimi", "julkaisuvuosi"}; String[] kysyttavat = new String[]{"kirjan nimi", "kirjailijan nimi", "julkaisuvuosi"};
ArrayList<String> lisattava = new ArrayList<String>(); ArrayList<String> lisattava = new ArrayList<String>(); //ArrayList uuden luotavan Kirja tiedoille.
while(true) { while(true) { //Pyörii niin kauan kunnes käyttäjä syöttää lopetusmerkin.
lisattava = kysyTietoja(kysyttavat, lopetusmerkki); lisattava = kysyTietoja(kysyttavat, lopetusmerkki); //Käytetään kysyTietoja -rutiinia kirjan tietojen kyselyyn.
if (lisattava.contains(lopetusmerkki)) { break; } if (lisattava.contains(lopetusmerkki)) { break; } //Jos saatu arraylist sisältää lopetusmerkin, sitä ei lisätä
else if (lisattava.size()== kysyttavat.length) { else if (lisattava.size()== kysyttavat.length) { //kirjakokoelmaan, vaan while loop pysähtyy ja palauttaa
kokoelma.lisaaKirja(luoKirja(lisattava)); kokoelma.lisaaKirja(luoKirja(lisattava)); //tähän mennessä tallentamansa KirjaKokoelman. Muussa tapauksessa
} } //kirja lisätään kokoelmaan ja loop alkaa alusta
} }
scanner.close();
return kokoelma; return kokoelma;
} }
} }
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment