私は、Caeser 暗号を暗号化および復号化するプログラムを作成する必要がある課題に取り組んでいます。私が問題を抱えているのは、暗号化または復号化ではなく、ユーザーが暗号化、復号化、または終了を選択できるようにメニューを提供する必要があるという要件のもう 1 つです。さらに、ユーザーが終了を選択するまで、プログラムは使用を促し続ける必要があります。これまでの私のコードは次のとおりです。
import java.util.*;
public class CaeserShiftTester
{
public static void main (String[] args)
{
Scanner in = new Scanner(System.in);
String choice = "";
while (!choice.equalsIgnoreCase("C"))
{
System.out.println("\nPlease select an option");
System.out.println("[A] Encrypt Code");
System.out.println("[B] Decrypt Code");
System.out.println("[C] Quit");
choice = in.next();
if(choice.equalsIgnoreCase("A"))
{
System.out.println("Please enter your key:");
final int KEY = in.nextInt();
System.out.println(CaeserShiftEncryption.shiftAlphabet(KEY));
System.out.println("\nPlease enter your message:");
String message = in.nextLine();
System.out.println(CaeserShiftEncryption.encryptCode(message,KEY));
}
if(choice.equalsIgnoreCase("C"))
{
System.out.println();
}
}
}
}
私の問題は、「新しいアルファベット」が画面に出力された後、プログラムがループして最初に戻り、ユーザーに a、b、または c を選択するように求めることです。暗号化するメッセージを入力する機会はありません。残念ながら、生成された新しいアルファベットを印刷する必要がありますが、何が問題なのかわかりません。皆さんが私を助けてくれることを願っています。
また、shiftAlphabet メソッドと encryptCode メソッドは両方とも完全に機能します。