0

次の実装を探しています。

私は文字列を持っています:001001001 そして、出力で受け取る必要があります:001 001 001

私はチェックしましたformatNumber-DecimalFormat彼らはそのような種類の出力を提供することはできません. 他の組み込みメソッドはありますか?

現在、私はいくつかのサーバー側関数を作成しました(実際にはそれほど素晴らしいソリューションではないと思います):

StringBuffer result = new StringBuffer("");

for (int i = 1; i <= 9; i++) {
    result.append(input.charAt(i - 1));
    if (i % 3 == 0)
        result.append(" ");
}

return result.toString();
4

2 に答える 2

1

私は以下の方法を使用します。nKognito の例のように、最後に余分なスペースを追加しません。

public static String format(String inputUnformatted, int groupSize, String separator) {
    StringBuilder result = new StringBuilder(inputUnformatted);

    int i = groupSize;
    while (i < inputUnformatted.length()) {
        result.insert(inputUnformatted.length() - i, separator);
        i += groupSize;
    }

    return result.toString();
}
于 2013-09-17T09:09:25.407 に答える
0
public static void main(String[] args) {
        String input = "001001001";
        StringBuilder result = new StringBuilder();
        int j = 0;
        for (int i = 0; i < input.length(); i++) {
            if (j > 2) {
                result.append(" ");
                j = 0;
            }

            result.append(input.charAt(i));
            j++;
        }

        System.out.println(result.toString());




    }

このコードを試してください

于 2013-07-03T10:38:15.393 に答える