2013-03-06 4 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

Try делание:

rackingSystem = rackingSystem.toLowerCase(); 

Вместо:

rackingSystem.toLowerCase(); 

Строки неизменны, вы должны переназначить результат toLowerCase().

легче, хотя, (до тех пор, как ваша строка больше длины 2):

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

'открытые статические строки прописными буквами (String ы) { \t \t если (== NULL) обратный ноль; \t \t if (s.length() == 1) { \t \t \t возвращение s.toUpperCase(); \t \t} \t \t, если (s.length()> 1) { \t \t \t возврата s.substring (0,1) .toUpperCase() + s.substring (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();