Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: 5378453 en 12 de Mayo 2015, 23:27

Título: Método para unir subcadenas de distintas palabras en Java Ejercicio CU00649B
Publicado por: 5378453 en 12 de Mayo 2015, 23:27
EJERCICIO

Crea una clase (ponle el nombre que quieras) que carezca de atributos y cuyo constructor esté vacío. En dicha clase debe existir un método tipo función que reciba 3 cadenas de texto y devuelva la cadena de texto combinación de: las dos primeras letras de la primera cadena, seguidas por un espacio en blanco, seguidas de las cuatro primeras letras de la segunda cadena, seguidas de un guión medio y seguido de las 6 primeras letras de la tercera cadena. Puedes comprobar si es correcta tu solución consultando en los foros aprenderaprogramar.com.

Código: [Seleccionar]
public class cadena
{
    private String sumaDeCadenas;
   
    public cadena(){
       
    }

    public String combinacionDeCadenas(String cadena1, String cadena2, String cadena3){
        sumaDeCadenas = cadena1.substring(0,2) + " " +  cadena2.substring(0,4) + "-" + cadena3.substring(0,6);
        return sumaDeCadenas;
    }
}
Título: Re:El método substring de la clase String. Extraer caracteres (CU00649B)
Publicado por: RaGa en 13 de Mayo 2015, 00:08
Hola.
Veo bien tu programa!
Como sugerencia, y para robustecer el código, agregaría al método combinacionDeCadenas una condición inicial que evitara se ejecute si las cadenas que se pasan como parámetros tienen menos letras de las que necesita el método para poder cumplir con la consigna del ejercicio.
De este modo el método combinacionDeCadenas nos quedaría de la siguiente manera:

Código: [Seleccionar]
public String combinacionDeCadenas(String cadena1, String cadena2, String cadena3){
        if ((cadena1.length()>=2)&&(cadena2.length()>=4)&&(cadena3.length()>=6)){
            sumaDeCadenas = (cadena1.substring(0,2)+" "+cadena2.substring(0,4)+"-"+cadena3.substring(0,6));
            return sumaDeCadenas;
        }
        else {return "error de longitudes";}
    }