Я знаю, чего ты хочешь, но ты не очень хорошо сформулировал свой вопрос. Единственная часть, которую вы пропустили - это перебирать каждое слово в предложении. Если бы вы спросили "как применить функцию к каждому слову в строке" , вы, вероятно, получили бы лучший ответ.
Это немного неаккуратно, так как добавляет трейлинг "" до конца - но это легко исправить.
public class Test {
static String test = "This is a test.";
public static void main(String[] args) {
String[] words = test.split(" ");
String result = "";
for (String word : words) {
result += nthToUpperCase(word, 2);
result += " ";
}
System.out.println(result);
}
public static String NthToUpperCase(String s, int n) {
String temp = "";
for (int i = 0; i < s.length(); i++) {
if (i == (n-1)) {
temp+=Character.toString(s.charAt(i)).toUpperCase();
} else {
temp+=Character.toString(s.charAt(i));
}
}
return temp;
}
}