Răspuns :
Răspuns:
public void transformaCuMajuscula(StringBuffer stringBuffer) {
List<String> listaCuvinte = Arrays.stream(stringBuffer.toString().split(" ")).toList();
stringBuffer.delete(0, stringBuffer.length());
listaCuvinte.stream()
.map(cuvantCurent -> cuvantCurent.substring(0, 1).toUpperCase() + cuvantCurent.substring(1))
.forEach(cuvantCurent -> stringBuffer.append(cuvantCurent).append(" "));
/*String[] arrayCuvinte = stringBuffer.toString().split(" ");
stringBuffer.delete(0, stringBuffer.length());
for (int i = 0; i < arrayCuvinte.length; i++) {
arrayCuvinte[i] = arrayCuvinte[i].substring(0, 1).toUpperCase() + arrayCuvinte[i].substring(1);
}
for (String cuvantCurent : arrayCuvinte) {
stringBuffer.append(cuvantCurent).append(" ");
}*/
}
Explicație:
Ți-am pus două variante, ambele fac același lucru, prima cel puțin mie mi se pare mai „clean”.
Ideea e că îți returnezi o listă / array cu cuvintele din interiorul StringBuffer-ului.
Odată ce avem lista / array-ul creat îl parcurgem iar fiecare cuvânt îl egalăm cu cuvantCurent.substring(0, 1).toUpperCase() care practic îți returnează un String format din primul caracter din cuvântul curent ca și majusculă + un String cu restul caracterelor rămase (cuvantCurent.substring(1)).
Rezultatul îl adaugi la StringBuffer + un spațiu (dacă chiar e poți șterge spațiul de la final cu stringBuffer.deleteCharAt(stringBuffer.length() - 1); )
Păi na, și cam aia e, când o să afișezi stringBuffer-ul în main(...) toate cuvintele o să înceapă cu majusculă.
Vă mulțumim că ați ales să vizitați site-ul nostru dedicat Informatică. Sperăm că informațiile disponibile v-au fost utile. Dacă aveți întrebări sau aveți nevoie de asistență suplimentară, vă rugăm să ne contactați. Revenirea dumneavoastră ne va bucura, iar pentru acces rapid, nu uitați să ne salvați la favorite!