import java.io.File; import java.io.FileNotFoundException; import java.util.ArrayList; import java.util.Scanner; public class Bibliotek { private String navn; private ArrayList boker; public Bibliotek(String n) { navn = n; boker = new ArrayList<>(); } public void leggTilBok(Bok bok) { boker.add(bok); } public void lesFil(String filnavn) { Scanner sc = null; try { sc = new Scanner(new File(filnavn)); } catch (FileNotFoundException e) { System.out.println("Fant ikke fil: " + filnavn); System.exit(-1); } while (sc.hasNextLine()) { String[] deler = sc.nextLine().split(","); String type = deler[0]; long isbn = Long.parseLong(deler[1]); String tittel = deler[2], forfatter = deler[3]; int aar = Integer.parseInt(deler[4]), sider = Integer.parseInt(deler[5]); Bok bok; if (type.equals("gn")) { bok = new GrafiskNovelle(isbn, tittel, forfatter, aar, sider, deler[6], Integer.parseInt(deler[7])); } else if (type.equals("fagbok")) { bok = new Fagbok(isbn, tittel, forfatter, aar, sider, deler[6]); } else if (type.equals("krim")) { bok = new Krim(isbn, tittel, forfatter, aar, sider, Boolean.parseBoolean(deler[6])); } else if (type.equals("bio")) { bok = new Biografi(isbn, tittel, forfatter, aar, sider, deler[6], deler[7], deler[8]); } else { bok = new Fiksjon(isbn, tittel, forfatter, aar, sider); } leggTilBok(bok); } } public int totalLestid() { int total = 0; for (Bok bok : boker) { total += bok.beregnLesetid(); } return total; } public void skrivBibliotek() { System.out.println("Bibliotek: " + navn); System.out.println("Total lesetid: " + totalLestid()); System.out.println("B?ker:"); for (Bok bok : boker) { bok.skrivBok(); System.out.println(); } } }