// Sist endret: 20.09.2010 av Ragnhild Kobro Runde. // Endret metodenavn fra brukerdialog til kommandolokke for // samsvar med oblig2. import easyIO.*; class VisForelesningsplanMedMetoder { public static void main (String[] args) { Forelesningsplan plan = new Forelesningsplan(); plan.lesFraFil("forelesningsplan.txt"); plan.kommandolokke(); } } class Forelesningsplan { String[] dato = new String[100]; String[] foreleser = new String[100]; int antall = 0; In tastatur = new In(); Out skjerm = new Out(); void lesFraFil( String filnavn ) { In innFil = new In(filnavn); while (!innFil.lastItem ()) { dato[antall] = innFil.inWord(); foreleser[antall] = innFil.inLine().trim(); antall++; } } void visForelesningsplan() { for(int i = 0; i < antall; i++) { skjerm.out(i+1); skjerm.out(" "); skjerm.out(dato[i]); skjerm.out(" "); skjerm.outln(foreleser[i]); } } void endreForeleserFraNr() { skjerm.out("Nr: "); int indeks = tastatur.inInt()-1; skjerm.out("Skriv foreleser: "); foreleser[indeks] = tastatur.inLine(); } void visNrFraForeleser() { skjerm.out("Foreleser: "); String innlestNavn = tastatur.inLine(); for(int i = 0; i < antall; i++) if( foreleser[i].equals(innlestNavn) ) { skjerm.out(i + 1); skjerm.out(" "); skjerm.out(dato[i]); skjerm.out(" "); skjerm.outln(foreleser[i]); } } void lagre() { Out utFil = new Out("forelesningsplan.txt"); for(int i = 0; i < antall; i++) { utFil.out(dato[i]); utFil.out(" "); utFil.outln(foreleser[i]); } utFil.close(); skjerm.outln("Endringer er lagret"); } void visMeny() { String meny = "1: Vis forelesningsplan. 2: Endre foreleser fra nr. 3: Vis nr fra foreleser. 4: Lagre. 5: Avslutt. 0: Meny."; skjerm.outln(meny); } void kommandolokke() { int valg = 0; while( valg != 5 ) { switch( valg ) { case 0: visMeny(); break; case 1: visForelesningsplan(); break; case 2: endreForeleserFraNr(); break; case 3: visNrFraForeleser(); break; case 4: lagre(); break; default: System.out.println("Ulovlig valg"); } System.out.print("Skriv valg: "); valg = tastatur.inInt(); } } }