2013-03-06 34 views
30

ilk harfini büyük yap:sorun bir Dize Sermayeye ilk harfini dönüştürme yaşıyorum dize

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(); 

Bu işe görünmüyor ..

herhangi bir öneriniz?

cevap

68

deneyin yapıyorsa: Yerine

rackingSystem = rackingSystem.toLowerCase(); 

:

rackingSystem.toLowerCase(); 

Karakter dizileri değişmez, sen toLowerCase() sonucunu yeniden atamak zorundadır.

olsa

Daha kolay, (sürece dize uzunluğu 2 daha büyüktür gibi):

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

'kamu statik dize yararlanmak (String s) { \t \t if (s == null) return boş; \t \t if (s.length() == 1) { \t \t \t return s.toUpperCase(); s.substring + \t \t} \t \t halinde (s.length()> 1) { \t \t \t dönüş s.substring (0,1) .toUpperCase() (1); \t} \t \t ""; \t} ' – Roel

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