Java 在switch中执行函数后如何返回主菜单

Java 在switch中执行函数后如何返回主菜单,java,switch-statement,Java,Switch Statement,这是我的密码。我只是想问,在执行switch语句中的一个函数后,如何返回到输入我要执行的switch语句或我的主菜单。似乎goto函数在java中不起作用 public class FINAL { public static void main(String[] args) { Scanner option = new Scanner (System.in); int ch; { System.out.pr

这是我的密码。我只是想问,在执行switch语句中的一个函数后,如何返回到输入我要执行的switch语句或我的主菜单。似乎goto函数在java中不起作用

public class FINAL 
{   
    public static void main(String[] args) 
    {
        Scanner option = new Scanner (System.in);
        int ch;
        {
        System.out.println("~~~~~~~~~~~~~~~~~~~~ WELCOME ~~~~~~~~~~~~~~~~~~~~");
        System.out.println("");
        System.out.println("[1] - New");
        System.out.println("[2] - Open");
        System.out.println("[3] - Save");
        System.out.println("[4] - Save As");
        System.out.println("[5] - Item Record");
        System.out.println("[6] - Exit");
        System.out.println("Choose what option do you want to perform.......");
        ch = option.nextInt();
        
        switch(ch)
        {
            case 1:
                New();
                break;
        
            case 2:
                System.out.println("");
                System.out.println("");
                System.out.println("GFdfdf");
                break;
        }
        }  
    }
我正在这个函数中创建一个文件,在案例1中执行它之后,我想回到我的主菜单,选择开关中要执行的案例

    static void New()
    {
        Scanner name = new Scanner  (System.in);
                String filename;
                
                System.out.println("");
                System.out.println("");
                System.out.println("Enter file name: ");
                filename = name.nextLine();
                System.out.println("");
                System.out.println("");
                
                try 
                {
                    File myfile = new File(filename);
                    if (myfile.createNewFile())
                    {
                        System.out.println("File Created " + myfile.getName());
                    }
                    else
                    {
                        System.out.println("File already exist.");
                    }
                }
                catch (IOException e)
                {
                    System.out.println("An Error Occured");
                    e.printStackTrace();
                }  
    }  
}

这不是最好的方法,但是一个简单的解决方案是围绕主函数中的代码运行一个while循环。为了避免无限循环,我添加了
case 3
,它将
running
更改为
false
——退出循环

publicstaticvoidmain(字符串[]args){
布尔运行=真;
扫描仪选项=新扫描仪(System.in);
System.out.println(“~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~”;
(跑步时){
System.out.println(“”);
System.out.println(“[1]-新”);
System.out.println(“[2]-打开”);
System.out.println(“[3]-保存”);
System.out.println(“[4]-另存为”);
System.out.println(“[5]-项目记录”);
System.out.println(“[6]-退出”);
System.out.println(“选择要执行的选项……”);
int-ch;
ch=option.nextInt();
开关(ch){
案例1:
新的();
打破
案例2:
System.out.println(“”);
System.out.println(“”);
系统输出打印项次(“GFdfdf”);
打破
案例3:
运行=错误;
打破
}
}
}
如果您不想返回主菜单,您可以对开关盒周围的另一个内循环执行相同的操作


但是,当您添加不同的代码段时,此解决方案可能很快成为一个问题。解决方法是将此代码分解为函数。

非常感谢。这真的很有帮助:不客气。如果您觉得足够,您可以选择它作为答案:)提示:您可以移动此行
Scanner option=new Scanner(System.in)在while循环之外,我们只需要创建一次。如果我有一个嵌套的开关呢?现在我如何回到主菜单?然后你需要使用
break
退出嵌套开关和外部开关,或者需要使用布尔标志返回打印主菜单的
while
循环。否则,您可以将主菜单放在不同的方法中,并在需要打印菜单时调用该方法。