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

これはうまくいかないようです。

助言がありますか?

4

2 に答える 2

67

やってみてください:

rackingSystem = rackingSystem.toLowerCase();

それ以外の:

rackingSystem.toLowerCase(); 

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

ただし、より簡単です(文字列が長さ2より大きい限り):

rackingSystem = rackingSystem.substring(0,1).toUpperCase() + rackingSystem.substring(1).toLowerCase();
于 2013-03-06T23:02:06.570 に答える
18
StringBuilder rackingSystemSb = new StringBuilder(rackingSystem.toLowerCase());
rackingSystemSb.setCharAt(0, Character.toUpperCase(rackingSystemSb.charAt(0)));
rackingSystem = rackingSystemSb.toString();
于 2013-03-06T23:05:47.110 に答える