如何从字符串创建 char[][]?
我在使用 Java 时遇到了一些问题,而且我对它还很陌生。
我的程序通过InputStreamReader
读取字符串并将其保存在字符串input
中。
如何将字符串的元素保存在具有 nxm 个元素的二维字符数组中?
编辑: 我想我有一个解决方案:
我使用了 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;
}
谢谢你们的帮助。
I got a little problem here with Java and I am fairly new to it.
My program reads a String via InputStreamReader
and saves it in the String input
.
How do I save the elements of the String in a 2d char array with n x m elements?
Edit:
I think I´ve got a solution:
I used 2 for-loops (is that the right english translation for it? ) and .toCharArray to convert the String.
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;
}
Thanks for your help guys.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用 < code>toCharArray() 方法从
String
获取char
数组。如果需要使用给定分隔符进行拆分以确定数组行,请首先使用
String
上的Split
方法,然后使用toCharArray来创建你的2维数组。
You can use the
toCharArray()
method to get achar
array from yourString
.If you need to split with a given delimiter to determine the array lines, you use first the
Split
method on theString
, then usetoCharArray
to create your 2 dimensional array.您应该使用
String.toCharArray()
。You should use
String.toCharArray()
.