Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: jupertivo en 25 de Marzo 2015, 21:32
-
Os adjunto el código del ejercicio propuesto. A mi me funciona. Lo que pregunto es si la forma elegida de resolverlo es la más adecuada, o a estas alturas del curso tendría que haberlo hecho de otra forma más eficiente o adecuada.
Gracias por todo.
public class TestPrograma2 {
public static void main (String [ ] args) {
Scanner entradaEscaner;
String entradaTeclado = "";
int longitudTexto = 0;
String primeraLetra = "";
System.out.println ("");
System.out.println ("Empezamos el programa");
System.out.println ("Por favor introduzca una cadena por teclado:");
entradaEscaner = new Scanner (System.in); //Creación de un objeto Scanner
entradaTeclado = entradaEscaner.nextLine (); //Invocamos un método sobre un objeto Scanner
System.out.println ("");
System.out.println ("Entrada recibida por teclado es: \"" + entradaTeclado + "\"");
longitudTexto = entradaTeclado.length();
primeraLetra = entradaTeclado.substring (0,1);
switch (primeraLetra) {
case "a":
if (longitudTexto < 5) {
System.out.println ("La cadena introducida tiene menos de 5 caracteres y empieza por la letra 'a'.");}
else if (longitudTexto >= 5 && longitudTexto <= 15) {
System.out.println ("La cadena introducida tiene entre 5 y 15 caracteres y empieza por la letra 'a'.");}
else {
System.out.println ("La cadena introducida tiene más de 15 caracteres y empieza por la letra 'a'.");}
break;
default:
if (longitudTexto < 5) {
System.out.println ("La cadena introducida tiene menos de 5 caracteres y no empieza por la letra 'a'.");}
else if (longitudTexto >= 5 && longitudTexto <= 15) {
System.out.println ("La cadena introducida tiene entre 5 y 15 caracteres y no empieza por la letra 'a'.");}
else {
System.out.println ("La cadena introducida tiene más de 15 caracteres y no empieza por la letra 'a'.");}
break;
}
} //Cierre del main
} //Cierre de la clase
-
Hola, una pequeña mejora es en vez de usar esto:
System.out.println ("");
System.out.println ("Empezamos el programa");
Es mejor usar esto:
System.out.println ("\nEmpezamos el programa");
De esta manera en vez de usar dos instrucciones, usas una sola.
Saludos!!
-
Hola jupertivo hay una cosa que podrías mejorar y es no repetir código. Al hacer el switch compruebas si la letra inicial es a y pones un código y si la letra no es a repites ese código. Repetir código no es bueno, deberías o bien crear un método de forma que no repitas el código sino simplemente llamar al método, o bien hacerlo de una forma tal que no se repita el código por ejemplo como lo hacen en https://www.aprenderaprogramar.com/foros/index.php?topic=1275.msg6951#msg6951
Saludos :D
-
Hola. Gracias por vuestras sugerencias. Tomo nota y, hasta la próxima. :)