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 platforma noastră dedicată Informatică. Ne bucurăm dacă informațiile oferite v-au fost de folos. Pentru întrebări sau asistență suplimentară, nu ezitați să ne contactați. Revenirea dumneavoastră ne onorează – adăugați-ne la favorite pentru a fi mereu la curent!