0

我对 Java 很陌生,格式化字符串时遇到了一点问题。我在每 18 个字符后为新行添加“\n”,我必须将这些新行拆分为数组索引,每个索引 13 行。

到目前为止我的代码:

String[] strings = str.split("\n");
String result;
for (int i = 1; i < strings.length; i++) {
    i++;
    if ((i % 13) == 0) {
        result += strings[i];
    } else {
        result += strings[i] + "\n";
    }
}

它不能正常工作,我测试了一下我不知道该怎么做,有人可以帮我吗?

4

1 回答 1

1

i在每个循环中递增两次 - 一次在for语句的增量表达式中,一次在循环本身内。这意味着i总是偶数,所以i % 13当你期望它可能不是 0 时。此外,数组的第一个索引是 0,因此您当前会忽略第一个元素。作为更小的一点,我建议使用 aStringBuilder而不是附加Strings

String[] strings = str.split("\n");
StringBuilder resultBuilder = new StringBuilder();
for (int i = 0; i < strings.length; i++) {
    String s = strings[i];
    if ((i % 13) == 0) {
        resultBuilder.append(s);
    } else {
        resultBuilder.append(s).append("\n");
    }
}
String result = resultBuilder.toString();
于 2012-09-25T20:45:45.237 回答