私は暗号を作成していますが、何らかの理由で、テキストを入力した後にこれらのエラーが表示されます:
enter string to be encrypted:
hello world
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 11
at chipher.cipher.encrypt(cipher.java:21)
at chipher.cipher.main(cipher.java:9)
これは私のコードです:
package chipher;
import java.util.Scanner;
public class cipher {
public static int x;
public static int y;
public static Scanner jon = new Scanner(System.in);
public static void main(String[] args) {
System.out.println("enter string to be encrypted: ");
encrypt(jon.nextLine());
}
public static void encrypt(String tocipher){
double lngth = tocipher.length();
tocipher.toLowerCase();
char[] mynamechars = tocipher.toCharArray();
char[] alphabet = new char[]{'a', 'b', 'c', 'd' , 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'};
for(int i = 0; i<lngth;)
for(int x = 0; x<26;){
y = x + 1;
if(mynamechars[i] == alphabet[x]){
mynamechars[i] = alphabet[y];
}
i++;
x++;
}
String text = String.valueOf(mynamechars);
System.out.println(text);
}
}
何が起こっているのかわからないし、Java を学んでいる最中なので、基本的なことかもしれません。