【问题标题】:How to create char[][] from String?如何从字符串创建 char[][]?
【发布时间】: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 数组。

标签: java arrays string char


【解决方案1】:

您可以使用toCharArray() 方法从您的String 中获取char 数组。

如果您需要使用给定的分隔符进行拆分以确定数组行,您首先使用String 上的Split 方法,然后使用toCharArray 创建您的二维数组。

【讨论】:

    【解决方案2】:

    你应该使用String.toCharArray()

    【讨论】:

      猜你喜欢
      • 2021-07-19
      • 2013-03-05
      • 2014-03-15
      • 1970-01-01
      • 2012-10-20
      • 1970-01-01
      • 1970-01-01
      • 2011-04-25
      相关资源
      最近更新 更多