Быстрая примитивная реализация. Я понятия не имею об ограничениях J2ME, поэтому я надеюсь, что он подходит или дает какие-то идеи ...
String str = "Hello, there, everyone?";
StringBuffer result = new StringBuffer(str.length());
String strl = str.toLowerCase();
boolean bMustCapitalize = false;
for (int i = 0; i < strl.length(); i++)
{
char c = strl.charAt(i);
if (c >= 'a' && c <= 'z')
{
if (bMustCapitalize)
{
result.append(strl.substring(i, i+1).toUpperCase());
bMustCapitalize = false;
}
else
{
result.append(c);
}
}
else
{
bMustCapitalize = true;
}
}
System.out.println(result);
Вы можете заменить сложную заглавную букву на:
result.append((char) (c - 0x20));
хотя это может показаться более хакерским.