Навіть для «простого» коду я би використовував бібліотеки. Справа не в коді сам по собі, а в вже існуючих тестових випадках, що стосуються виняткових випадків. Це можуть бути nullпорожні рядки, рядки іншими мовами.
Частина маніпуляцій зі словом була перенесена з мови Apache Commons Lang. Тепер він розміщений у тексті Apache Commons . Отримайте це за допомогою https://search.maven.org/artifact/org.apache.commons/commons-text .
Ви можете використовувати WordUtils.capitalize (String str) з Apache Commons Text. Він потужніший, ніж ви просили. Він також може загладити фуле (наприклад, фіксація "oNe tousand only").
Оскільки він працює над повним текстом, треба сказати йому, щоб з великої літери вийшло лише перше слово.
WordUtils.capitalize("one thousand only", new char[0]);
Повний клас JUnit, щоб увімкнути гру з функціоналом:
package io.github.koppor;
import org.apache.commons.text.WordUtils;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
class AppTest {
@Test
void test() {
assertEquals("One thousand only", WordUtils.capitalize("one thousand only", new char[0]));
}
}