Сделать код элегантным

141
19 ноября 2017, 13:43

Надо сделать заглавными последние буквы каждого слова. Но 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);
    }
}
Answer 1

Как-то так:

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.

Answer 2

используя

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

Answer 3

Например, так:

char[] с = (s + " ").toCharArray();
for (int i = 1; i < с.length; i++)
    if (с[i]==' ') 
        с[i-1]=Character.toUpperCase(с[i-1]);
return new String(с);
READ ALSO
Поиск по SQLite через EditText

Поиск по SQLite через EditText

Вопрос наверное слишком общий, но на конкретном примере моего кода может подскажите ктоУ меня есть DialogFragment:

153
Windows api documentation

Windows api documentation

Где можно найти документацию для создания приложений на java под винду? Пересмотрел много источниковНо не нашел ничего толкового

168
Не запускается Jar-файл

Не запускается Jar-файл

У меня новый ПК, ранее пользовался ноутбуком с семёркой, на компе десяткаСкачал JDK 8, установил, создал переменную JAVA_HOME и изменил переменную...

178
WPF не видит kласс в пространстве имен

WPF не видит kласс в пространстве имен

Ситуация такая : В проекте создал папку Converters и в нее добавил новый класс TagToImageSourceConverterВ Заголовке разметки добавил ссылку на эту папку вот...

362