Skip to content
Snippets Groups Projects
Commit 04e4c4d5 authored by Arska's avatar Arska
Browse files

aasdasd

parent 46642b47
No related branches found
No related tags found
No related merge requests found
Pipeline #62050 passed
package fi.utu.tech.ooj.exercise0;
public class Kirja {
private String kirjanNimi;
private String kirjailijanNimi;
private int julkaisuVuosi;
public Kirja(String kirjanNimi, String kirjailijanNimi, int julkaisuVuosi){
this.kirjailijanNimi = kirjailijanNimi;
this.kirjanNimi = kirjanNimi;
this.julkaisuVuosi = julkaisuVuosi;
}
public int getJulkaisuVuosi() {
return julkaisuVuosi;
}
public String getKirjailijanNimi() {
return kirjailijanNimi;
}
public String getKirjanNimi() {
return kirjanNimi;
}
public void setJulkaisuVuosi(int julkaisuVuosi) {
this.julkaisuVuosi = julkaisuVuosi;
}
public void setKirjailijanNimi(String kirjailijanNimi) {
this.kirjailijanNimi = kirjailijanNimi;
}
public void setKirjanNimi(String kirjanNimi) {
this.kirjanNimi = kirjanNimi;
}
@Override
public String toString(){
return "Kirja: " + kirjanNimi + "\nKirjailija: " + kirjailijanNimi + "\nJulkaisuvuosi: " + julkaisuVuosi + "\n";
}
}
package fi.utu.tech.ooj.exercise0;
import java.util.ArrayList;
import java.io.PrintStream;
import java.util.List;
public class KirjaKokoelma {
private String kokoelmanOmistaja;
private ArrayList<Kirja> kirjaListaus;
public KirjaKokoelma(String kokoelmanOmistaja){
this.kokoelmanOmistaja = kokoelmanOmistaja;
this.kirjaListaus = new ArrayList<>();
}
public String getKokoelmanOmistaja() {
return kokoelmanOmistaja;
}
public ArrayList<Kirja> getKirjaListaus() {
return kirjaListaus;
}
public void setKirjaListaus(ArrayList<Kirja> kirjaListaus) {
this.kirjaListaus = kirjaListaus;
}
public void setKokoelmanOmistaja(String kokoelmanOmistaja) {
this.kokoelmanOmistaja = kokoelmanOmistaja;
}
public void lisaaKirja(Kirja kirja){
this.kirjaListaus.add(kirja);
}
public void tulostaKokoelma(PrintStream out){
if (kirjaListaus.isEmpty()){
out.print("Kokoelma on tyhjä");
out.close();
} else {
for (Kirja kirja : kirjaListaus){
out.print(kirja);
}
}
}
public List<Kirja> etsiKirjat(String hakusana, KirjanTiedot kentta) throws IllegalArgumentException {
List<Kirja> lista = new ArrayList<>();
try {
switch (kentta){
case NIMI:
for (Kirja kirja : kirjaListaus){
if (kirja.getKirjanNimi().contains(hakusana)){
lista.add(kirja);
}
}
case KIRJAILIJA:
for (Kirja kirja: kirjaListaus){
if (kirja.getKirjailijanNimi().contains(hakusana)){
lista.add(kirja);
}
}
case JULKAISUVUOSI:
for (Kirja kirja: kirjaListaus){
if (kirja.getJulkaisuVuosi() == Integer.valueOf(hakusana)){
lista.add(kirja);
}
}
}
} catch (IllegalArgumentException e) {
}
return lista;
}
}
package fi.utu.tech.ooj.exercise0;
import java.io.PrintStream;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
......@@ -12,19 +13,52 @@ public class Main {
* Kirjoita tähän tehtävän 4 ratkaisu. Rutiinin signatuuria ei saa muuttaa. Aloita tehtävä poistamalla
* kommenttimerkit alla olevan rutiinin rungon ympäriltä.
*/
/*public static ArrayList<String> kysyTietoja(String[] kysyttavat, String lopetusmerkki) {
}*/
public static ArrayList<String> kysyTietoja(String[] kysyttavat, String lopetusmerkki){
Scanner lukija = new Scanner(System.in);
ArrayList<String> lista = new ArrayList<>();
for (String alkio : kysyttavat){
System.out.println(alkio);
String vastaus = lukija.nextLine();
if (vastaus.equals(lopetusmerkki)){
break;
}
lista.add(vastaus);
}
return lista;
}
/*
* Kirjoita tähän tehtävän 5 ratkaisu. Rutiinin signatuuria ei saa muuttaa. Aloita tehtävä poistamalla
* kommenttimerkit alla olevan rutiinin rungon ympäriltä.
*/
/*public static KirjaKokoelma luoKokoelma(String lopetusmerkki) {
public static KirjaKokoelma luoKokoelma(String lopetusmerkki){
Scanner lukija = new Scanner(System.in);
System.out.print("Kokoelman omistaja: ");
String omistaja = lukija.nextLine();
KirjaKokoelma kokoelma = new KirjaKokoelma(omistaja);
String[] kysymykset = {"Kirjan nimi", "Kirjailija", "Julkaisuvuosi"};
while (true){
ArrayList<String> apulista = new ArrayList<>();
for (String tieto : kysyTietoja(kysymykset, lopetusmerkki)){
apulista.add(tieto);
}
if (apulista.size() != 3) {
break;
} else {
int apu = Integer.valueOf(apulista.get(2));
Kirja kirja = new Kirja(apulista.get(0), apulista.get(1), apu);
kokoelma.lisaaKirja(kirja);
}
}
return kokoelma;
}
}*/
/**
* Main class.
......@@ -32,19 +66,24 @@ public class Main {
* @param args Command line arguments
*/
public static void main(String[] args) {
/*
* Testin jälkeen alla olevan rivin voi joko kommentoida tai poistaa.
*/
System.out.println("*** Harjoitustyöpohja käynnistyy ***");
String[] kysymykset = {"Kirjan nimi", "Kirjailija", "Julkaisuvuosi"};
//Luo ensin uusi KirjaKokoelma olio, Käytä tehtävän 5 rutiinia
KirjaKokoelma kokoelma = luoKokoelma("/loppu");
//Sen jälkeen tulosta kokoelma näyttöön käyttämällä tehtävän 6 rutiinia
PrintStream out = new PrintStream(System.out);
kokoelma.tulostaKokoelma(out);
//Lopuksi hae jokin kirja kokoelmasta käyttäen tehtävän 7 rutiinia
//Tulosta hakutulos. Sen voit tehdä suoraan main-metodissa.
System.out.println(kokoelma.etsiKirjat("joku", KirjanTiedot.NIMI));
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment