当前位置: 首页 > 面试题库 >

如何将字符串的二维数组打印为String

公良理
2023-03-14
问题内容

我知道如何toString对一维字符串数组执行此方法,但是如何打印二维数组?使用1D时,我是这样进行的:

public String toString() {
    StringBuffer result = new StringBuffer();
    res = this.magnitude;

    String separator = "";
    if (res.length > 0) {
        result.append(res[0]);
        for (int i=1; i<res.length; i++) {
            result.append(separator);
            result.append(res[i]);
        }
    }
return result.toString();

如何打印2D阵列?


问题答案:

您只需对元素进行两次迭代:

StringBuffer results = new StringBuffer();
String separator = ","
float[][] values = new float[50][50];

// init values

for (int i = 0; i < values.length; ++i)
{
  result.append('[');
  for (int j = 0; j < values[i].length; ++j)
    if (j > 0)
      result.append(values[i][j]);
    else
      result.append(values[i][j]).append(separator);
  result.append(']');
}

重要提示:
StringBuffer也很有用,因为您可以链接操作,例如:buffer.append(..).append(..).append(..)因为它返回对self的引用!如果可以的话,使用晕厥糖。

重要事项2:
由于在这种情况下,您计划向其添加许多内容,StringBuffer因此最好估算一下避免在添加过程中多次分配和重新定位数组的能力,因此您可以执行以下操作:计算多维数组的大小乘以平均字符长度您打算附加的元素的数量。



 类似资料:
  • 我试图打印每个单词的第一个字符放入一个二维数组。我得到一个错误,当我试图打印它的子串。 我得到一个不可编译的源代码错误。

  • 在C++中将二维字符数组复制到一维数组字符串中最简单的方法是什么? 大概是这样的: 问候蒂尔曼

  • 问题内容: 我正在使用使用Strings的二维数组的程序(一开始可能不是很聪明,但是eh),并且我想编写一个采用这些数组之一的函数(比方说array1),一个独立的副本,并返回它(假设为array2)。但是,当我然后更改array2中的值时,它似乎反映在array1中。 我的函数当前看起来像这样: 我声明一个新的字符串数组,然后对其进行迭代,分别复制每个值。当这不起作用时,我什至尝试从每个旧字符串

  • 问题内容: 在我的字节数组中,我具有一条消息的 哈希 值,该值由一些负值和正值组成。使用该语句可以轻松打印正值。 现在如何获得负值? 问题答案: 好吧,如果您乐于以十进制格式打印它,则可以通过屏蔽使其变为正数: 但是,如果要打印散列,则使用十六进制会更常规。关于堆栈溢出,还有很多其他问题,这些问题将Java中的二进制数据转换为十六进制字符串。

  • 问题内容: 我喜欢例如转换字符串: 变成这样的二维数组 我尝试使用该方法,但仍然没有解决方法:( 谢谢.. 问题答案: String data = “1|apple,2|ball,3|cat”; String[] rows = data.split(“,”); 除了使用正则表达式外,其他操作非常简单,因此元字符需要转义。 也可以看看 正则表达式和转义特殊字符 Java Arrays.equals(

  • 我的想法是打印一些城市之间的距离(entfernung)。所以出于测试原因,我只输入了0号城市(柏林)和其他城市之间的距离。最终我想写 或者至少这似乎是我的最佳选择-但出于某种原因,我在运行此代码时遇到了nullpointerexception: Sie haben folgende Staedte zur Auswahl:0:柏林1:汉堡2:基尔3:慕尼黑4:斯图加特5:德累斯顿6:海德堡 BI