首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何突破空白处的方法,如果没有“返回”;

如何突破空白处的方法,如果没有“返回”;
EN

Stack Overflow用户
提问于 2015-04-28 04:22:28
回答 2查看 1.1K关注 0票数 1

我如何打破一个空的方法,回到开关方法?

代码语言:javascript
运行
复制
    public static void decrypt() throws FileNotFoundException {
    Scanner kbrd = new Scanner(System.in);
    System.out.println("Enter Key-file name: ");
    String filename = kbrd.nextLine();
    System.out.println("Enter Message-filename: ");
    String mssgFilename = kbrd.nextLine();
    String[] keyArray = loadMessage(filename);
    String[] message = loadMessage(mssgFilename);
    String[] cipher = xor2(message, keyArray);
    String readable = showText(cipher);
    System.out.println("The text:" + readable);
    return;
}

下面是开关方法

代码语言:javascript
运行
复制
    System.out.println("Encrypt  1.");
    System.out.println("Decrypt  2.");
    System.out.println("Make Key 3.");
    System.out.println("Quit     4.");
    Scanner scan = new Scanner(System.in);
    String choice = scan.nextLine();

    do {
        switch (choice) {
        case "1":
            encrypt();
            break;
        case "2":
            decrypt();
            break;
        case "3":
            makeKey();
            break;

        }

    } while (choice != "4");

问题是,不管我选择什么,它都留在那个方法中,尽管最后有一个返回语句,这不是应该让我回到开关方法吗?

EN

Stack Overflow用户

发布于 2015-04-28 04:30:09

您有一个无限循环的循环,因为选择只读取一次。您输入3一次,它进入一个循环与条件choice != '4',它始终是正确的,因为你没有改变你的选择。所以你的函数被一次又一次的调用。(确实释放了函数的,但它被一次又一次地调用)将输入行放入循环中。

票数 2
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29910280

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档