import java.util.ArrayList; import java.util.Scanner; public class HovedProgram { public static void main(String[] args) { // Singleton-klassen PlateSjappe sjappa = PlateSjappe.hentInstans(); System.out.println("--- Plater ---"); for (int i = 0; i < sjappa.hentPlater().size(); i++) { System.out.println(i + " - " + sjappa.hentPlater().get(i)); } Scanner sc = new Scanner(System.in); System.out.print("Velg plate (Skriv tall p? ?nsket plate): "); Plate plata = new VanligPlate(sjappa.hentPlater().get(sc.nextInt())); ArrayList kommandoer = new ArrayList<>(); kommandoer.add("Pluss demoer"); kommandoer.add("Nyutgitt"); kommandoer.add("Signert"); System.out.print("Legg til ekstra? (0/1) "); int fortsett = sc.nextInt(); while (fortsett != 0) { System.out.println("--- Kommandoer ---"); for (int i = 0; i < kommandoer.size(); i++) { System.out.println(i + " - " + kommandoer.get(i)); } System.out.print("Velg kommando (skriv tall): "); int valgt = sc.nextInt(); String valg = kommandoer.get(valgt); kommandoer.remove(valgt); switch (valg) { case "Pluss demoer": plata = new DemoDekorator(plata); break; case "Nyutgitt": plata = new NyUtgivelseDekorator(plata); break; case "Signert": plata = new SignertDekorator(plata); } System.out.print("Fortsett? (0/1) "); fortsett = sc.nextInt(); } PlateBestilling bestilling = new PlateBestilling(); ArbeiderObserver observer = new ArbeiderObserver(); bestilling.nyObserver(observer); bestilling.bestill(plata); sc.close(); } }