[ Foro de Java ]
Hola , procediendo con los ejercicios de strings me encontré con este y la razón por que, escribo no se si el procedimiento es el correcto . Aquí dejo mi código
import java.util.Scanner;
/*Crea un programa que pida su nombre al usuario
y lo escriba con la primera letra en mayúsculas y el resto en minúsculas. Por
ejemplo, a partir de "nAcho" escribirá "Nacho".
*
*
* */
public class Ejercicio_7_3_1_4 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner entrada = new Scanner(System.in);
String Nombre;
String mayus;
System.out.println("ingrese un nombre : ");
Nombre=entrada.nextLine();
mayus=Nombre.replaceAll(Nombre.substring(0, 1),
Nombre.substring(0, 1).toUpperCase());
System.out.println(mayus);
}
}
No es correcto: ReplaceAll cambiará todas las apariciones de esa primera letra, de modo que quizá no sólo cambies la primera.
Deberás convertir a mayúsculas el "substring" de la primera letra, y a minúsculas el resto.
hola me he enredado un poco, algo asi hice
import java.util.Scanner;
/*Crea un programa que pida su nombre al usuario
y lo escriba con la primera letra en mayúsculas y el resto en minúsculas. Por
ejemplo, a partir de "nAcho" escribirá "Nacho".
*
*
* */
public class Ejercicio_7_3_1_4 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner entrada = new Scanner(System.in);
String Nombre;
char mayus;
String resto;
System.out.println("ingrese un nombre :");
Nombre=entrada.nextLine();
resto=Nombre.substring(1);
mayus=Nombre.charAt(0);
mayus=Character.toUpperCase(mayus);
String texto=mayus + resto;
System.out.println(texto);
}
}
Sí, se parece bastante, pero no estás forzando a que el resto de la cadena quede en minúsculas, de modo que el resultado será incorrecto si partes de un texto como "NACHO".
Hola Profe, Ahi creo que si
import java.util.Scanner;
/*Crea un programa que pida su nombre al usuario
y lo escriba con la primera letra en mayúsculas y el resto en minúsculas. Por
ejemplo, a partir de "nAcho" escribirá "Nacho".
*
* pero no estás forzando a que el resto de la cadena quede en minúsculas,
* */
public class Ejercicio_7_3_1_4 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner entrada = new Scanner(System.in);
String Nombre;
char mayus;
String resto;
System.out.println("ingrese un nombre :");
Nombre=entrada.nextLine();
resto=Nombre.substring(1);
mayus=Nombre.charAt(0);
mayus=Character.toUpperCase(mayus);
Nombre=mayus + resto.toLowerCase();
System.out.println(Nombre);
}
}
Ahora sí parece estar bien.
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)