如何返回程序的某些部分? java的

时间:2015-10-31 05:55:48

标签: java

我有一个程序,它应该显示一个菜单,从用户那里取一个数字,从菜单中选择做它应该做的事情,然后返回菜单,我不知道怎么回到菜单?

这是我的代码:

public class tst {
    public static void main (String [] args){
        Scanner reader = new Scanner(System.in);
        System.out.println("Select");
        int slct = reader.nextInt();
        System.out.println("1.optionone");
        System.out.println("2.optiontwo");
        System.out.println("1.optionthree");
        switch (slct){
            case 1:System.out.println("you have selected optionone");// and then its suposed to go back to the menu
            case 2:System.out.println("you have selected optiontwo");// and then its suposed to go back to the menu
            case 3:System.out.println("you have selected optionthree");// and then its suposed to go back to the menu
        }        
    }        
}

问题在打印之后我怎么能这样做?你选择了x选项我又回到菜单了?

2 个答案:

答案 0 :(得分:3)

使用while循环。这允许您在到达结束后循环回到循环的开头。

编辑:Java没有goto声明。但是,如果您决定学习 具有goto的新语言(例如C),不要使用它。

无论你做什么, 使用goto。它的 goto被认为是非常不好的做法,并且已经受到absurd humor的约束。

示例:

boolean keepGoing = true;
while (keepGoing){
    //print out the options
    int slct = reader.nextInt(); //get input
    switch(slct){
        case 1:
            //user inputted 1
            break; //otherwise you will fall through to the other cases
        case 2:
            //...
            break;
        case 3:
            //...
            break;
        case 4: //or other number to quit, otherwise this will repeat forever
            keepGoing = false; //stop the loop from repeating again
            break;
    }
}

答案 1 :(得分:1)

在您的情况下,您可以使用do while循环设计菜单。您可以重新设计菜单,如:

int slct = 0;

do {
  System.out.println("1.optionone");
  System.out.println("2.optiontwo");
  System.out.println("3.optionthree");
  System.out.println("4.Quit");
  Scanner reader = new Scanner(System.in);
  System.out.println("Select");
  slct = reader.nextInt(); //get input

  switch(slct){
  case 1:
    //user inputted 1
    break; //otherwise you will fall through to the other cases
  case 2:
    //...
    break;
  case 3:
    //...
    break;
  }


} while(slct != 4);

当用户输入4选项时,它将打破循环。意味着循环将使用4输入中断。