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各ループで2回インクリメントしています。1回はforステートメントのインクリメント式で、もう1回はループ自体の内部です。これ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();
于 2012-09-25T20:45:45.237 に答える