// Primitivt exempel på menyer - Johannes Hjorth, 2004 import java.io.*; public class Menyer { BufferedReader in; public static void main(String[] args) { boolean visaMeny = true; Menyer m = new Menyer(); int val; while(visaMeny) { m.skrivUtHuvudMenyn(); val = m.läsInVal(1,3); visaMeny = m.hanteraVal(val); // retunerar false om klar } } public Menyer() { in = new BufferedReader(new InputStreamReader(System.in)); } public void skrivUtHuvudMenyn() { System.out.println("1. Alternativ ett"); System.out.println("2. Alternativ två"); System.out.println("3. Alternativ tre - Avsluta"); System.out.println("Ditt val: "); } public int läsInVal(int min, int max) { String s; int val = 0; boolean okInput = false; while(!okInput) { try { s = in.readLine(); val = Integer.parseInt(s); if(val < min || val > max) throw new NumberFormatException(); okInput = true; } catch(NumberFormatException nfe) { System.out.println("Välj ett tal mellan " + min + " och " + max + "!"); } catch(IOException ioe) { System.out.println("Error, try again..."); } } return val; } public boolean hanteraVal(int val) { boolean avslutaMeny = false; switch(val) { case 1: System.out.println("* Du valde 1"); //Kör kod här körValEtt(); break; case 2: System.out.println("* Du valde 2"); //Kör kod här körValTvå(); break; case 3: System.out.println("* Val 3 - Avsluta"); avslutaMeny = true; break; default: System.out.println("Fel val!"); break; } return !avslutaMeny; } //OBS! Den här metoderna anropar inte någon annan metod för // att visa menyn ingen efteråt. Det behövs inte... varför? public void körValEtt() {} public void körValTvå() {} }