文字列の最初の文字を大文字に変換するのに問題があります:
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();
これはうまくいかないようです。
助言がありますか?
やってみてください:
_rackingSystem = rackingSystem.toLowerCase();
_
の代わりに:
_rackingSystem.toLowerCase();
_
文字列は不変です。toLowerCase()
の結果を再割り当てする必要があります。
ただし、より簡単です(ストリングが長さ2より大きい場合):
_rackingSystem = rackingSystem.substring(0,1).toUpperCase() + rackingSystem.substring(1).toLowerCase();
_
StringBuilder rackingSystemSb = new StringBuilder(rackingSystem.toLowerCase());
rackingSystemSb.setCharAt(0, Character.toUpperCase(rackingSystemSb.charAt(0)));
rackingSystem = rackingSystemSb.toString();