이제 공백 문자를 만나면 toUpper 변수를 true로 설정해서 다음 만나는 알파벳이 대문자로 변환될 수 있도록 합니다.
if (!Character.isAlphabetic(c)) {
builder.append(c);
toUpper = true;
} else {
...
1-B. 공백 문자가 아닌 경우
else 문으로 진입한 c는 알파벳이라는 보장이 있으므로 대문자 혹은 소문자로 변환해야 합니다.
1-B-i. 대·소문자 변환하여 이어 붙이기
다음과 같이 else 문에 toUpper를 사용하여 문자의 대·소문자를 변환하고, StringBuilder 객체에 이어 붙입니다. 그리고 다음 문자의 대·소문자 여부를 변경합니다.
if (!Character.isAlphabetic(c)) {
builder.append(c);
} else {
if (toUpper) {
builder.append(Character.toUpperCase(c));
} else {
builder.append(Character.toLowerCase(c));
}
}