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();
  }
}

Thank you. This help out a lot!

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 :)

commented: hey thank you for this. is it possible you could run down on what the code means and what everything does step by step and what it represents. thanks +0

thanks alott! it really helpedd :D

Hi, I had a public void aldready. How do I create a new public void so that I can do the menu?

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.