How do you write the code using Scanner class to set up a menu (i.e 1 for something, 2 for something, and so on.) Then have the user to choose.

Thanks

Something along these lines:

import java.util.*;

class Main {
  public void display_menu() {
    System.out.println ( "1) Option 1\n2) Option 2\n3) Option 3" );
    System.out.print ( "Selection: " );
  }
  
  public Main() {
    Scanner in = new Scanner ( System.in );
    
    display_menu();
    switch ( in.nextInt() ) {
      case 1:
        System.out.println ( "You picked option 1" );
        break;
      case 2:
        System.out.println ( "You picked option 2" );
        break;
      case 3:
        System.out.println ( "You picked option 3" );
        break;
      default:
        System.err.println ( "Unrecognized option" );
        break;
    }
  }
  
  public static void main ( String[] args ) {
    new Main();
  }
}

How do you write the code that allows you to go back to the menu after choosing an option?

How do you write the code that allows you to go back to the menu after choosing an option?

Hi

You can make it simple an add a new method like in this example below that is based on the class above. I have chanced the name of the class because I personally do not think that classes should be named as Main.

import java.util.*;

public class InputMenu 
{
    public void display_menu() 
    {
	System.out.println("1) Option 1\n2) Option 2\n3) Option 3");
	System.out.print("Selection: ");
    }
    
    public void question()
    {
	System.out.println("Would you like to proceed or quit?");
	System.out.println("To proceed enter 9.");
	System.out.println("If you wish to quit enter 0.");

	Scanner q = new Scanner(System.in);
       
	switch (q.nextInt()) 
	{
	    case 0:
	    System.out.println ("Thank you and godbye.");
	    break;
  
	    case 9:
	    System.out.println ("Please proceed.");
	    new InputMenu();
	    break;

	    default:
	    System.err.println ( "Unrecognized option" );
	    break;
	}
    }
 
    public InputMenu() 
    {
	Scanner in = new Scanner(System.in);
        display_menu();
  
	switch (in.nextInt()) 
	{
	    case 1:
	    System.out.println ( "You picked option 1" );
	    question();
	    break;
  
	    case 2:
	    System.out.println ( "You picked option 2" );
	    question();
	    break;
  
	    case 3:
	    System.out.println ( "You picked option 3" );
	    question();
	    break;

	    default:
	    System.err.println ( "Unrecognized option" );
	    break;
	}
    }
 
    public static void main (String[]args) 
    {
	new InputMenu();
    }
}

As you see a new method question() is added and this method is called from all cases in the switch() (inside InputMenu() ) except the default case.

Hope this gave you an idea of how it works :)

Edited 7 Years Ago by sneaker: n/a

This article has been dead for over six months. Start a new discussion instead.