我需要能够使用Polybius Square加密和解密消息 . 我知道这是如何在纸上工作的,但是当把它变成程序时不知道从哪里开始 . 我打算使用哈希 Map ,但我被告知这是一个不好的方法,并且有更好的方法来做到这一点......但我不知道会采用什么方法 .

我已经获得了代码,通过我在项目研讨会上的讲座来帮助我,但我并不完全理解它 . 我将它粘贴在下面,如果有人能解释它,我会非常感激!我过去一直专注于C,所以现在谈到Java时我有点生疏了 .

char [][] poly = {
    {",'A','B','D'.....
    {'A','P','H','Q'}
}

这是一个双列阵,我将用它来对Polybius广场进行排序吗?

for(int row = 0; row < poly.length; row++) {
}

for(int col = 0; col < poly[row].length; col++) {
}

// c is the char I'm looking for
if(poly[row][col] == c){
}

这用于导航数组并找到我想要的字符?

// how to break a line down to a character
String[] words = line.split(" ");
for(int i=0; i < words.length; i++){
    String word = words[i];
    for(int j = 0; j <word.length(); j++){
        char letter = word.charAt(j);
        encrypt(letter);
    }
}

这显然打破了一行字母?那我该怎么办?方法是 encrypt 在Java运行时库中还是我必须以某种方式自己创建?

我不知道从哪里开始或者最好的方法是什么,我想我可能只是看哈希 Map 教程并尝试一下?这是我第一次尝试加密,整个事情看起来很难和令人生畏 .