0

この問題について、JSE 1.7.0.52 のマルチスレッド プロセスでのパフォーマンス ソリューションを探しています。

たとえば、「 12697 26 」という文字列があります。

「00012697 26」という文字列が必要です

これは、 String.formatter メソッドを次のように使用できないことを意味します。

String c = "   12697 26    ";<br />
String.format( "%1$15s", c);<br /><br />

結果は入力と同じになるためです。15 は左側の文字列をスペースで埋めますが、ゼロで埋める必要があります....

新しいバージョンの Java にはパフォーマンス ソリューションが存在しますか? 敬具

4

2 に答える 2

1
String input = "   12697 26    ";
StringBuilder s = new StringBuilder(input);
for (int i = 0  ; i<s.length() && s.charAt(i) == ' ' ; i++) {
    s.setCharAt(i, '0');
}

System.out.printf("'%s'", s.toString());

'00012697 26'

于 2014-02-17T09:42:39.187 に答える
0

コードは..

String func(String s)
{
    int flag=0;
    String temp="":
    for(int i=0;i<s.length();i++)
    {
        if(flag==0&&s.charAt(i)==' ')
        temp+="0";
        else
        {
            flag=1;
            temp+=s.charAt(i);
         }
    }
    return temp;
  }
于 2014-02-17T09:50:36.860 に答える