Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Jlinos en 22 de Julio 2018, 18:58

Título: Cómo optimizar código Java para evitar repeticiones buenas prácticas CU00657B
Publicado por: Jlinos en 22 de Julio 2018, 18:58
Buenas tardes a todos. Aqui dejo el ejercicio CU00657B del curso gratuito de programación orientada a objetos resuelto con los condicionales if(), métodos length() y substring(), gracias.

Código: [Seleccionar]
import java.util.Scanner;

/**
 * Write a description of class TestPrograma here.
 * Crea una clase con un método main que pida una entrada de teclado y usando condicionales, el método length de la clase
 * String y el método substring de la clase String, muestre un mensaje indicando:
 * a) Si la cadena introducida tiene menos de 5 caracteres, entre 5 y 15 caracteres o más de 15 caracteres.
 * b) Si la cadena introducida comienza por la letra a.
 * Ejemplo: se pide la entrada y el usuario introduce “vereda”. Por pantalla se debe mostrar:
 * “La cadena introducida tiene entre 5 y 15 caracteres y no comienza por a”.
 * @author (Linos)
 * @version (a 22 de Julio de 2018)
 */
public class TestPrograma
{
    public static void main(String[]args){
        String cadena = "";
        Scanner entradaScanner = new Scanner(System.in);
        System.out.println("Introduce una cadena por teclado");
        cadena = entradaScanner.nextLine();
        System.out.println("La cadena introducida es: " +cadena);
        if(cadena.length()<5){
            if(cadena.substring(0,1).equalsIgnoreCase("a")){
                System.out.println("La cadena introducida tiene menos de 5 caracteres y empieza por la letra a");
            }else{
                System.out.println("La cadena introducida tiene menos de 5 caracteres y no empieza por la letra a");
            }
        }
        if(cadena.length()>=5&&cadena.length()<=15){
            if(cadena.substring(0,1).equalsIgnoreCase("a")){
                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 entre 5 y 15 caracteres y no empieza por la letra a");
            }
        }
        if(cadena.length()>15){
            if(cadena.substring(0, 1).equalsIgnoreCase("a")){
                System.out.println("La cadena introducida tiene mas de 15 caracteres y empieza por la letra a");
            }else{
                System.out.println("La cadena introducida tiene mas de 15 caracteres y no empieza por la letra a");
            }
        }
    }//Cierre del método main
}//Cierre de la clase TestPrograma

 

 
Título: Re:Cómo optimizar código Java para evitar repeticiones buenas prácticas CU00657B
Publicado por: Alex Rodríguez en 18 de Agosto 2018, 18:04
Hola, el código hace lo que se pedía en el ejercicio. No obstante es interesante revisar por ejemplo el hilo https://aprenderaprogramar.com/foros/index.php?topic=2873.0 donde puede verse que el código puede hacerse más compacto. Un aspecto deseable en la programación es evitar la repetición. Si te fijas repites varias veces if(cadena.substring(0,1).equalsIgnoreCase("a"))

Aquí no tiene demasiada importancia, pero son detalles en los que conviene irse fijando para mejorar.

Saludos