¿Cómo poner en mayúscula la primera letra de una cadena en Java?
Estoy usando Java para obtener String
información del usuario. Estoy intentando poner la primera letra de esta entrada en mayúscula.
Probé esto:
String name;
BufferedReader br = new InputStreamReader(System.in);
String s1 = name.charAt(0).toUppercase());
System.out.println(s1 + name.substring(1));
lo que llevó a estos errores del compilador:
-
El tipo no coincide: no se puede convertir de InputStreamReader a BufferedReader
-
No se puede invocar toUppercase() en el tipo primitivo char
Aceptado
String str = "java";
String cap = str.substring(0, 1).toUpperCase() + str.substring(1);
// cap = "Java"
Con tu ejemplo:
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
// Actually use the Reader
String name = br.readLine();
// Don't mistake String object with a Character object
String s1 = name.substring(0, 1).toUpperCase();
String nameCapitalized = s1 + name.substring(1);
System.out.println(nameCapitalized);
}
StringUtils.capitalize(..)
de lengua común
El código de versión más corto/rápido para poner en mayúscula la primera letra de una cadena es:
String name = "stackoverflow";
name = name.substring(0,1).toUpperCase() + name.substring(1).toLowerCase();
el valor de name
es"Stackoverflow"