Java:18 Chars&之后的新线13行后的新数组索引

时间:2012-09-25 20:31:05

标签: java arrays

我是Java的新手,我对格式化String有一点问题。我添加了" \ n"对于每18个字符后的新行,我必须将这些新行拆分为数组索引,每个索引有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";
    }
}

它不能正常工作,我测试了一下我不知道如何做到这一点,有人可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

你在每个循环中递增i两次 - 一次在for语句的递增表达式中,一次在循环内部。这意味着i始终是偶数,因此i % 13可能在您预期时不为0。另外,数组的第一个索引是0,所以你当前会忽略第一个元素。作为一个小问题,我建议使用StringBuilder而不是附加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();