[ Foro de Java ]

Ejercicio_7_3_1_4

26-Mar-2016 00:04
Invitado (Gerar)
5 Respuestas

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);
		
			}
	}


 


27-Mar-2016 21:11
Nacho Cabanes (+84)

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.


29-Mar-2016 09:02
Invitado (Gerar)

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);
			
			
			}
	}


 


03-Apr-2016 23:29
Nacho Cabanes (+84)

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".


08-Apr-2016 09:09
Invitado (Gerar)

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);			
			
			}
	}


 


10-Apr-2016 21:35
Nacho Cabanes (+84)

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.)