在我的程序中,循环在第一个循环上正确地询问并执行。在开始循环的第二次迭代等时,它跳过询问用户要加密的消息。那是为什么?
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()方法有关。