2017-01-12 3 views
-2

私は自分のプロジェクトでStringBuilderを使用しています。私がcharをappenするときはすべてOKですが、文字列 "8("または ")"または ""を追加しようとすると、空 ""のままです。 例(編集):Java StringBuilderは文字列を追加しません

int length = number.length(); 
    CharSequence sequence = number.subSequence(0,length); 
    StringBuilder stringBuilder = new StringBuilder(17); 
    for (int i = 0; i < length; i++){ 
     if (Pattern.matches("^[\\d]$", String.valueOf(sequence.charAt(i)))){ 
      stringBuilder.append(sequence.charAt(i)); 
     } 
    } 
    sequence = stringBuilder.toString(); 
    stringBuilder = new StringBuilder(17); 
    CharSequence s = "8 ("; 
    if (sequence.charAt(0) == 8 || sequence.charAt(0) == 7 || sequence.length() == 0){ 
     stringBuilder.append(s); 
    } 
    for (int i = 1; i < 11 && i < sequence.length(); i++){ 
     stringBuilder.append(sequence.charAt(i)); 
     if (i == 3){ 
      stringBuilder.append(") "); 
     } 
     if (i == 6 || i == 8){ 
      stringBuilder.append(' '); 
     } 
    } 
    number.clear(); 
    number.clearSpans(); 
    number.append(stringBuilder.toString()); 
+5

は私たちに、実際に問題を実証するために十分なコードを表示文字と比較する必要はありません

if (sequence.charAt(0) == 8 || sequence.charAt(0) == 7 || 

です走る – user2357112

+1

あなたはどのようにsb = ""を引き出していますか? '.toString()'? –

+0

複製できません –

答えて

1

あなたのコードの問題は、あなたがint型

if (sequence.charAt(0) == '8' || etc 
関連する問題