在我当前的程序中,我尝试使用非常基本的密码来解密字符串。为此,我将输入的字符串转换为二维字符数组,并向下填充。通过这样做,可以通过读取跨越行来看到实际消息。我的问题是我可以正确地填充数组,但不知道如何跨行读取并输出这些值以获取未加密的消息。如何以不同的方式读取数组,而不是填充数组
相关的代码如下所示
char[][] charArray = new char[column][row];
for (int j = 0; j < row; j++) {
for (int i = 0; i < column; i++) {
if (x < input.length()) {
charArray[i][j] = input.charAt(x);
outputArea.append("[" + i + "]" + "[" + j + "]" + charArray[i][j]);
x++;
}
if (x >= input.length()) {
charArray[i][j] = ' ';
outputArea.append("[" + i + "]" + "[" + j + "]" + charArray[i][j]);
x++;
}
}
}
由于我输出我读以同样的方式,我只是得到了串了一遍。
例如我想字符串PNTSLTMAAEEGIXSE显示PLAINTEXTMESSAGE
网格将如下这样
P L A我
ÑT E X
Tm值(E S)
S A G ^é
从java教程开始[这里](https://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html) – randominstanceOfLivingThing
有点像(i = 0; I <行*柱; i ++){print(char [floor(i/row)] [i%column])}我认为floor是java.math。 %是模运算符 –