2013-03-06 9 views
30

の最初の文字を大文字:私はトラブルの文字列に資本への最初の文字を変換抱えている文字列

rackingSystem.toLowerCase(); // has capitals in every word, so first convert all to lower case 
StringBuilder rackingSystemSb = new StringBuilder(); 
rackingSystemSb.append(rackingSystem); 
rackingSystemSb.setCharAt(0, Character.toUpperCase(rackingSystemSb.charAt(0))); 
rackingSystem = rackingSystemSb.toString(); 

これは動作していないようですが...

任意の提案を?

答えて

68

はやってみます

rackingSystem = rackingSystem.toLowerCase(); 

の代わりに:

rackingSystem.toLowerCase(); 

文字列は不変で、あなたはtoLowerCase()の結果を再割り当てする必要があります。

簡単しかし、(限り、あなたの文字列が長さ2よりも大きくなるように):

rackingSystem = rackingSystem.substring(0,1).toUpperCase() + rackingSystem.substring(1).toLowerCase(); 
+5

'パブリック静的な文字列(文字列群)大文字{ \t \t(S == NULL)戻った場合ヌル; \t \t IF(s.length()== 1){ \t \t \tリターンs.toUpperCase()。 s.substring + \t \t} \t \t IF(s.length()> 1){ \t \t \t戻りs.substring(0,1).toUpperCase()(1)。 \t \t} \t \t return ""; \t} ' – Roel

18
StringBuilder rackingSystemSb = new StringBuilder(rackingSystem.toLowerCase()); 
rackingSystemSb.setCharAt(0, Character.toUpperCase(rackingSystemSb.charAt(0))); 
rackingSystem = rackingSystemSb.toString();