【发布时间】:2011-12-15 13:32:53
【问题描述】:
我在使用 Java 时遇到了一点问题,而且我对它还很陌生。
我的程序通过InputStreamReader读取一个字符串并将其保存在字符串input中。
如何将 String 的元素保存在具有 n x m 个元素的 2d char 数组中?
编辑: 我想我有一个解决方案:
我使用了 2 个 for 循环(这是正确的英文翻译吗?)和 .toCharArray 来转换字符串。
public static char[][] transform (String text, int arrBreite, int arrLaenge) {
char[][] returnArray = new char[arrBreite][arrLaenge];
char[] buffer = text.toCharArray();
for (int i = 0; i < arrBreite; i++) {
for (int j = 0; j <arrLaenge; j++) {
if (((i * arrBreite) + j) > buffer.length - 1) returnArray[i][j] = " ".charAt(0);
else returnArray[i][j] = buffer[(i*arrBreite)+j];
}
}
return returnArray;
}
感谢你们的帮助。
【问题讨论】:
-
你读过 String 的 JavaDoc 吗?
-
为什么需要二维字符数组?
-
请提供一个示例,您希望如何将字符放置在您的
char[][]中?!在工作完成后给出输入和矩阵应该是什么样子。 -
没有从字符串到二维字符数组的自然映射。这里的具体要求是什么?你怎么知道你的二维数组的维度是多少?
-
我要做一个 Scytale De-/Encrypter,我们应该为它使用一个 2D 数组。