为什么我的循环在第一次尝试后不会要求nextLine()?

时间:2016-01-09 03:04:27

标签: java loops java.util.scanner

在我的程序中,循环在第一个循环上正确地询问并执行。在开始循环的第二次迭代等时,它跳过询问用户要加密的消息。那是为什么?

    public void startProgram() {
    boolean quit = false;
    while (!quit) {
        String plaintext = new String();
        System.out.println("Enter a message to be encrypted.");
        plaintext = sc.nextLine();
        System.out.println("Now enter a shift value for your message.");
        int i = sc.nextInt();
        cc.encryptMessage(i, plaintext);
        System.out.println("Here is your encrypted message: ");
        cc.printEncyrption();
        System.out.println();
        System.out.println("Here is your original plaintext message: ");
        cc.decryptMessage(i);
        cc.printPlaintext();
        System.out.println("\n");

    }
}

以下是输出结果的示例:

输入要加密的邮件。

天空

现在输入您的消息的转移值。

4

以下是您的加密消息:

xli woc

这是您原来的纯文本消息:

天空

输入要加密的邮件。

现在输入您的消息的转移值。

在循环的第二次迭代开始时,它不允许用户输入要加密的消息。我相信它与nextLine()方法有关。

0 个答案:

没有答案