到目前为止,我已经展示了一个看起来像这样的26X26数组: A B C D... A B C D... abcd ...
但是我需要这样做:
abcd BCDA cdab ...
基本上每一行都向左移动,但是每次我尝试尝试时,都会遇到一些错误。任何帮助,将不胜感激。
这是我的代码:
public static String [][] table(String [][] cipher){
String [][] table = {{"abcdefghijklmnopqrstuvwxyz"}};
for (int i =0; i < cipher.length; i++){
cipher[i] = table[0];
for(int j = 0; j< cipher[i].length; j++){
cipher[j] = table[0];
}
}
return cipher;
}
答案 0 :(得分:0)
不确定您要使用2d阵列实现什么。但是您可以使用类似的方法将数组内的String
移到左侧。
class Main {
public static void main(String[] args) {
table(new String[26][26]);
}
public static String[][] table(String[][] cipher) {
String[][] table = {{"abcdefghijklmnopqrstuvwxyz"}};
for (int i = 0; i < cipher.length; i++) {
String[] word = table[0];
cipher[i] = leftShift(word, i);
}
return cipher;
}
public static String[] leftShift(String[] array, int number) {
String word = array[0];
number = number % word.length();
return new String[]{word.substring(number) + word.substring(0, number)};
}
}