-11

コードは最初に正しく実行され、while ループを使用して再度実行されます。最初に AA に入ると、CC になり、再び実行されます。もう一度 AA に入ると、CCCC で出てきます。もう一度実行すると、CCCCCC で出てきます。ループするたびに文字列からデータを保持しないようにする必要はありません。

import java.util.*;
public class SecretCypher {

    public static void main(String args[]) {

        Scanner kb = new Scanner(System.in);
        StringBuffer e = new StringBuffer();
        System.out.println("Welcome to Secret Cypher!");

            char loop = 'Y';
            while(loop == 'Y' || loop == 'y') {
                System.out.println("");
                System.out.println("Enter your cypher in upper case.");
                String s = kb.nextLine();


                char[] cs = s.toCharArray();
                for (int i = 0; i < cs.length; i++) {
                    e.append((char)('A' + (cs[i] - 'A' + 2) % 26));
                }
                if(s == s.toLowerCase()) {
                    System.out.println("Remember to use upper case letters!");
                    System.exit(0);//Also I was bored of using break and this works any where in the code.
                }
                System.out.println(e.toString());


                System.out.println("Do you want to enter another cypher? > ");
                String again = kb.nextLine();
                if(again.charAt(0) == 'N') {
                    System.out.println("Hope you come back again!");
                    break;
                }
            }
    }
}
4

1 に答える 1