Как капитализировать первые и последние буквы каждого слова в строкеКак заработать первые и последние буквы каждого слова в строке в Java
я сделал это таким образом -
String cap = "";
for (int i = 0; i < sent.length() - 1; i++)
{
if (sent.charAt(i + 1) == ' ')
{
cap += Character.toUpperCase(sent.charAt(i)) + " " + Character.toUpperCase(sent.charAt(i + 2));
i += 2;
}
else
cap += sent.charAt(i);
}
cap += Character.toUpperCase(sent.charAt(sent.length() - 1));
System.out.print (cap);
это не работает, когда первое слово из более чем одного символа
используйте простые функции, как я новичок
Как вы читаете эту "строку"? Из системы.in' или пользователь, набрав и отправив его и т. д. –
Конечно, это не сработает, если вы преобразовываете символ только в том случае, если ему присваивается пробел. Вы захотите сделать это для первого символа (если 'i == 0'), а также если предыдущий символ также был пробелом. Убедитесь, что в цикле и не увеличивайте 'i' себя внутри цикла (т. Е. No' i + = 2; ') - это сэкономит вам много головных болей. – Thomas
В стороне, вы никогда не должны делать строку + =. Просмотрите документацию 'StringBuilder', которая фактически используется компилятором Java под обложками. – Gray