Надо сделать заглавными последние буквы каждого слова. Но CodeHunt не считает мой код самым коротким. Как сделать еще короче?
public class Program {
public static String Puzzle(String s) {
char[] chars = s.toCharArray();
for (int i = 0; i < chars.length; i++)
{
if (i==chars.length-1 || chars[i+1]==' ')
chars[i]=Character.toUpperCase(chars[i]);
}
return new String(chars);
}
}
Как-то так:
private static String lastToUpperCase(String text) {
String res = "";
for (String s : text.split("\\b"))
res += s.substring(0, s.length() - 1)
+ s.substring(s.length() - 1).toUpperCase();
return res;
}
Input: I want to walk my dog. Печатает: I wanT tO walK mY doG.
используя
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.text.WordUtils;
получается:
String inputString = "this string is needed to be last letter-uppercased for each word";
String outputString = StringUtils.reverse(WordUtils.capitalize(StringUtils.reverse(inputString)));
// System.out.println(outputString):
// thiS strinG iS needeD tO bE lasT letter-uppercaseD foR eacH worD
подглядел: https://stackoverflow.com/a/42302143/6104996
Например, так:
char[] с = (s + " ").toCharArray();
for (int i = 1; i < с.length; i++)
if (с[i]==' ')
с[i-1]=Character.toUpperCase(с[i-1]);
return new String(с);
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости