-1

我正在结合两个矩阵:

矩阵A =

719.0 501.0 -75.0
501.0 508.0 -62.0 -75.0
-62.0 10.0

矩阵B =

-19.0 -19.0 -19.0 -19.0 -19.0 -19.0 -19.0 -19.0 -19.0 -19.0
-20.0 -20.0 -20.0 -20.0 -20.0 -20.0 -20.0 -20.0 -20.0 -20.0
0.0 0.0 0.0 0.0 0.0 0.000.0 0.0 0.00.0.0

matrixA#matrixB- 使用#和组合

该行使用,和分隔

使用分隔的元素|

我的 toString 代码是:

public String toString() {
        String separator = "|";
            StringBuffer result = new StringBuffer();

        for (int k = 0; k < keys.length; k++) {
                 for(int l = 0; l < keys[k].length; l++){
                result.append(keys[k][l]);
                result.append(separator);
            }
           result.setLength(result.length() - separator.length());
            // add a line break.
            result.append(",");
        }
       result.append("#");
        for (int i = 0; i < values.length; i++) {
           for(int j = 0; j < values[i].length; j++){
                result.append(values[i][j]);
                result.append(separator);
            }
            // remove  separator
            result.setLength(result.length() - separator.length());
            // add a line break.
            result.append(",");
        }
      return result.toString();
    }

我的结果是:

719.0|501.0|-75.0,501.0|508.0|-62.0,-75.0|-62.0|10.0 ,#-19.0|-19.0|-19.0|-19.0|-19.0|-19.0|-19.0|-19.0|-19.0|- 19.0,-20.0|-20.0|-20.0|-20.0|-20.0|-20.0|-20.0|-20.0|-20.0|-20.0,0.0|0.0|0.0|0.0|0.0|0.0|0.0|0.0|0.0| 0.0,

如何删除最后一个分隔符?

4

4 回答 4

3

您可以通过获取没有最后一个元素的子字符串来简单地删除它。

return result.substring(0, result.length() - 1);
于 2013-11-05T07:26:07.273 回答
2
result.toString().replaceAll(",$", "");
于 2013-11-05T07:26:03.133 回答
2

您可以将其添加到下一个实体的开头,而不是将分隔符添加到实体(行、元素等)的末尾。

例如,,您可以这样做:-

for (int k = 0; k < keys.length; k++) {

    // add a line break.
    if (k != 0)
        result.append(",");

    for(int l = 0; l < keys[k].length; l++){
        result.append(keys[k][l]);
        result.append(separator);
    }
}
于 2013-11-05T07:38:06.767 回答
1

我相信您应该能够添加一个 if 条件来检查 i/k 的值并基于它添加一个 (,) 。

于 2013-11-05T07:26:58.717 回答