import java.util.*; import static javax.swing.JOptionPane.*; //Finn antall ledige bord //Finn antall bord opptatt //Frigi bord som er ryddet //Reserver bord class Bord { private int antallledige; private int antallopptatt; private int antallbord; private String[] bordtabell; public Bord (int antallbord) { this.antallledige = antallledige; this.antallopptatt = antallopptatt; this.antallbord = antallbord; String[] bordtabell = new String[antallbord]; } public int finnAntallLedige() { antallledige = antallbord - antallopptatt; return antallledige; } public int finnAntallOpptatt() { return antallopptatt; } public int finnAntallBord() { return antallbord; } public boolean reserverBord(String navn, int antall) { //kopierer bordtabellen String[] kopi = new String[antallbord]; for(int i = 0; i < bordtabell.length; i++) { kopi[i] = bordtabell[i]; } if (antallledige >= antall) { for (int i = 0; i < antall;i++) { kopi[antallopptatt] = navn; antallopptatt++; } bordtabell = kopi; return true; } else return false; } public void ryddbord(int bordnr) { bordtabell[bordnr] = null; } public String finnHvilkeReservert(String navn) { String res = navn + " har reservert bord nr: "; for (int i = 0; i < bordtabell.length; i++) { if( bordtabell[i] == navn ) { res += " " + i; } } return res; } }//class /* Et objekt av klassen Restaurant skal ha kunnskap knyttet til restauranten, i dette tilfellet nøyer vi oss med navn og etableringsår. Objektet skal kunne svare på følgende henvendelser: Finn navnet på restauranten Sett et nytt navn på restauranten Finn etableringsåret Finn hvor gammel restauranten er Finn antall ledige bord Finn antall bord opptatt Reserver bord Finn hvilke bord en bestemt person har reservert Frigi bord som er ryddet */ class Restaurant { private String navn; private int etablert; private int antallbord; Bord bord; public Restaurant(String navn, int etablert, int antallbord) { this.navn = navn; this.etablert = etablert; bord = new Bord(antallbord); } public String finnNavn() { return navn; } public void settNavn(String nyttnavn) { navn = nyttnavn; } public int finnEtabÅr(){ return etablert; } public int finnAlder(){ GregorianCalendar Dato = new GregorianCalendar(); int år = Dato.get(Calendar.YEAR); int alder = år - finnEtabÅr(); return alder; } public int finnAntallLedigeBord() { return bord.finnAntallLedige(); } public int finnAntallOpptatteBord() { return bord.finnAntallOpptatt(); } public boolean reserverBord(String navn, int antall) { if(bord.reserverBord(navn, antall) == true) {return true;} else return false; } public String finnHvilkeReservert(String navn) { return bord.finnHvilkeReservert(navn); } }//class Restaurant class Oving2 { public static void main(String[] args) { Restaurant res = new Restaurant("Go'Biten", 1950, 10); //public Restaurant(String navn, int etablert, int antallbord) String[] choice = { "Restaurantens navn", "Etablert", "Alder", "Antall ledige bord", "Antall opptatte bord", "Reserver bord","Rydd bord", "Reservert på navn", "Avslutt" }; int valg = showOptionDialog(null,res.finnNavn(),"Velg Operasjon",0,PLAIN_MESSAGE,null,choice,choice[0]); int check = 0; do { if (valg == 0) { showMessageDialog(null,"Navnet på restauranten er " + res.finnNavn() + "."); } else if (valg == 1) { showMessageDialog(null,"Restauranten er etablert i " + res.finnEtabÅr() + ".");} else if (valg == 2) { showMessageDialog(null,"Restauranten er " + res.finnAlder() + " år.");} else if (valg == 3) { showMessageDialog(null,"Antall ledige bord " + res.finnAntallLedigeBord() + ".");} else if (valg == 4) { showMessageDialog(null,"Antall opptatte bord " + res.finnAntallOpptatteBord() + ".");} else if (valg == 5) { String q1 = showInputDialog("Navn på reservant: "); String q2inn = showInputDialog("Antall bord: "); int q2 = Integer.parseInt(q2inn); if ( res.reserverBord(q1, q2) == true ) { showMessageDialog(null,"Bord reservert!"); } else { showMessageDialog(null,"Bord ikke reservert :("); } } else if (valg == 6) { String q1 = showInputDialog("Navn på reservant: "); showMessageDialog(null, q1 + " har reservert: " + res.finnHvilkeReservert(q1) + ".");} else { check = 0;} } while (check != 1 || check < 1); } }//class Oving2