繁体   English   中英

在 switch 中执行 function 后如何返回主菜单

[英]How to get back to main menu after executing a function in switch

这是我的代码。 我只是想问一下,在 switch 语句中执行 function 后,我怎么能 go 回到输入我想要执行的 switch 语句或我的主菜单。 似乎 goto function 在 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;
        }
        }  
    }

我正在这个 function 中创建一个文件,在案例 1 中执行它之后,我想 go 返回我的主菜单以选择要执行的开关中的案例

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

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

    public static void main(String[] args) {
        boolean running = true;
        Scanner option = new Scanner(System.in);

        System.out.println("~~~~~~~~~~~~~~~~~~~~ WELCOME ~~~~~~~~~~~~~~~~~~~~");
        while (running) {
            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.......");
            int ch;
            ch = option.nextInt();

            switch (ch) {
                case 1:
                    New();
                    break;

                case 2:
                    System.out.println("");
                    System.out.println("");
                    System.out.println("GFdfdf");
                    break;
                case 3:
                    running = false;
                    break;
            }

        }
    }

如果您不想返回主菜单,您可以在开关盒周围使用另一个内部循环来执行相同的操作。

但是,当您添加不同的代码部分时,此解决方案很快就会成为问题。 解决方案是将这段代码分解为函数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM