【发布时间】:2015-11-19 18:56:03
【问题描述】:
考虑以下代码:
public String keyCompressor(String key) {
char[][] keyArray = new char[255][255];
for (int i = 0; i < key.length(); i++) {
if (key.charAt(i) < 0 || key.charAt(i) > 255) {
throw new IllegalArgumentException("" + "Somehow, you made it past the check in the matrix builder, but you wont get past me!");
}
keyArray[i][0] = key.charAt(i) + Sorters.getShift(key, i) > 255 ? (char) ((key.charAt(i) + Sorters.getShift(key, i)) - 255) : (char) (key.charAt(i) + Sorters.getShift(key, i));
}
return keyArray.toString();
}
我知道如何将变量加载到第一个数组中,但是如何将变量加载到第二个数组中?另外,如何将数组打印到控制台,其中第一个数组在左侧,第二个数组在右侧?
【问题讨论】:
-
你在说什么第二个数组?你有一个字符数组。外部数组包含 255 个字符数组。这 255 个数组中的每一个都包含 255 个字符。你想达到什么目的?
-
这个类
Sorters是什么? -
你所拥有的是一个二维数组,或者如果你愿意的话是一个矩阵......你没有两个数组;如果你想要两个数组,那么你应该像这样初始化它们:
char[] arrayOne = new char[255]和char[] arrayTwo = new char[255] -
另外,char 是一个无符号数。它不可能是
-
另外,如果你知道你使用的是一个二维数组,那么你应该看到你只使用了每个数组的一个元素。
标签: java arrays for-loop constructor char