Autor Tema: Alternativa al método combinadoSiempre sugerido en el curso Java CU00650B  (Leído 5113 veces)

Erik_Escriche

  • Principiante
  • **
  • Mensajes: 65
    • Ver Perfil
Buenos días.

Dejo aquí el código que he escrito para el método combinadoSiempre y la respuesta a las preguntas. Muchas gracias de antemano por las correcciones y comentarios.

Código: [Seleccionar]
//Método que combina las cadenas con cualesquiera caracteres disponibles.
    public String combinadoSiempre (String valor_texto1, String valor_texto2) {
        String combinacionSiempre = "";
        if (valor_texto1.length()>=3&&valor_texto2.length()>=3) {
            combinacionSiempre = valor_texto1.substring (0,3) + " " + valor_texto2.substring(0,3);
        } else if (valor_texto1.length()<3&&valor_texto2.length()>=3) {
            combinacionSiempre = valor_texto1.substring (0) + " " + valor_texto2.substring (0,3);
        } else if (valor_texto1.length()>=3&&valor_texto2.length()<3) {
            combinacionSiempre = valor_texto1.substring (0,3) + " " + valor_texto2.substring(0);
        } else {
            combinacionSiempre = valor_texto1.substring (0) + " " + valor_texto2.substring (0);
        }
        System.out.println ("El resultado de la combinación es " + combinacionSiempre + ".");
        return combinacionSiempre;
    }

Fíjate en el resultado que ofrece el método CombinadoSiempre cuando se le pasan como parámetros dos cadenas vacías. ¿Te parece lógico el resultado? Sí, me parece lógico, ya que hemos pedido en el código que aparezca un espacio en blanco entre las dos cadenas.

En la clase tenemos definidos dos atributos o campos. ¿Tienen utilidad conocida a la vista del código de la clase? ¿Se usan en los métodos que tenemos definidos? No, los atributos no tienen utilidad en el código que hemos escrito. No se usan en los métodos que tenemos definidos. Se pueden omitir y el programa funciona igual.
« Última modificación: 13 de Noviembre 2016, 17:20 por Alex Rodríguez »

ESOJ

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 143
    • Ver Perfil
Re:Alternativa al método combinadoSiempre sugerido Java CU00650B
« Respuesta #1 en: 05 de Noviembre 2016, 07:03 »
Buenos días.
En realidad el ejercicio no pedía modificar el código del ejemplo.Solo pedía crear un objeto tipo Combinador y realizar una serie de pruebas.Yo habría hecho esto:
Código: [Seleccionar]
public class TestCombinador
{
   public static void main (String[] args)
    {
        Combinador objetoCombinador=new Combinador();
        System.out.print("Texto1=Elefante \nTexto2=Nutria\n");
        System.out.print("Resultado método Combinacion = "+objetoCombinador.Combinacion("Elefante","Nutria"));
        System.out.print("\nResultado método CombinadoSiempre = "+objetoCombinador.CombinadoSiempre("Elefante","Nutria"));
        System.out.print("\n\nTexto1=Elefante \nTexto2=Do\n");
        System.out.print("Resultado método Combinacion = "+objetoCombinador.Combinacion("Elefante","Do"));
        System.out.print("\nResultado método CombinadoSiempre = "+objetoCombinador.CombinadoSiempre("Elefante","Do"));
        System.out.print("\n\nTexto1=Da \nTexto2=Do\n");
        System.out.print("Resultado método Combinacion = "+objetoCombinador.Combinacion("Da","Do"));
        System.out.print("\nResultado método CombinadoSiempre = "+objetoCombinador.CombinadoSiempre("Da","Do"));
        System.out.print("\n\nTexto1="+'"'+'"'+" \nTexto2="+'"'+'"');
        System.out.print("\nResultado método Combinacion = "+objetoCombinador.Combinacion("",""));
        System.out.print("\nResultado método CombinadoSiempre = "+objetoCombinador.CombinadoSiempre("",""));
    }
}

En cuanto a las respuestas,están las dos bien.
Un saludo

Erik_Escriche

  • Principiante
  • **
  • Mensajes: 65
    • Ver Perfil
Re:Alternativa al método combinadoSiempre sugerido Java CU00650B
« Respuesta #2 en: 05 de Noviembre 2016, 12:59 »
Hola ESOJ.

Muchas gracias por contestar a mi mensaje. No entiendo el código que me has propuesto. No sé si ha habido un malentendido con la entrega del curso y lo que me has escrito es de alguna más avanzada o si simplemente no estoy comprendiendo, jeje.

El ejercicio al que he respondido es este:

Método length de la clase String del API de Java. Ejemplo de uso de métodos para evitar errores. (CU00650B)

"Valiéndonos de este método, intenta escribir tu propio código para hacer lo siguiente:

(...) b) Escribir un nuevo método de la clase, al que podemos denominar combinadoSiempre  que en caso de que se pasen cadenas con menos de tres caracteres, las combine de todas formas en base a los caracteres disponibles, sea el número que sea".


Si me has respondido en base a esto, disculpa. Será que no me entero mucho todavía.

DRANXZ88

  • Avanzado
  • ****
  • Mensajes: 356
    • Ver Perfil
Re:Alternativa al método combinadoSiempre sugerido Java CU00650B
« Respuesta #3 en: 05 de Noviembre 2016, 15:20 »
No es necesario modificar ni crear nuevo método si ya están todo creado solo necesita crear el objeto para pesarle valor y probar los método para responder a la pregunta planteado.
Ejemplo.
Este seria el objeto.
Código: [Seleccionar]
Combinador combina = new Combinador();A tener creado el objeto le llama al método y le pasa el valor.
Código: [Seleccionar]
System.out.println("La cadena combianda es: "+ combina.Combinacion("hola", "dios"));Y mostrar el resultado y de ahí responde la pregunta.

Erik_Escriche

  • Principiante
  • **
  • Mensajes: 65
    • Ver Perfil
Re:Alternativa al método combinadoSiempre sugerido Java CU00650B
« Respuesta #4 en: 05 de Noviembre 2016, 15:24 »
De acuerdo. Muchas gracias por tu respuesta, DRANXZ88.
¡Un saludo!

ESOJ

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 143
    • Ver Perfil
Re:Alternativa al método combinadoSiempre sugerido Java CU00650B
« Respuesta #5 en: 06 de Noviembre 2016, 04:46 »
Buenos días.

Creo que ya se donde estaba la confusión.Al enunciado que tu dabas solución es al ejemplo que aparece en la entrega.Ese ejercicio ya viene resuelto en la misma entrega.

Yo te puse la solución del ejercicio propuesto al final de la entrega.

Código: [Seleccionar]
public class TestCombinador
{
   public static void main (String[] args)
    {
        Combinador objetoCombinador=new Combinador(); //Aquí creo el objeto de tipo Combinador
/*Prueba con dos cadenas de más de 3 caracteres */
        System.out.print("Texto1=Elefante \nTexto2=Nutria\n");
        System.out.print("Resultado método Combinacion = "+objetoCombinador.Combinacion("Elefante","Nutria")); //método Combinacion
        System.out.print("\nResultado método CombinadoSiempre = "+objetoCombinador.CombinadoSiempre("Elefante","Nutria")); //método CombinadoSiempre
/*Prueba con una cadena de más de 3 caracteres y otra de menos de 3 caracteres */
        System.out.print("\n\nTexto1=Elefante \nTexto2=Do\n");
        System.out.print("Resultado método Combinacion = "+objetoCombinador.Combinacion("Elefante","Do"));  //método Combinacion
        System.out.print("\nResultado método CombinadoSiempre = "+objetoCombinador.CombinadoSiempre("Elefante","Do"));  //método CombinadoSiempre
 /*Prueba con dos cadenas de menos de 3 caracteres */
        System.out.print("\n\nTexto1=Da \nTexto2=Do\n");
        System.out.print("Resultado método Combinacion = "+objetoCombinador.Combinacion("Da","Do"));
        System.out.print("\nResultado método CombinadoSiempre = "+objetoCombinador.CombinadoSiempre("Da","Do"));
/*Prueba con dos cadenas vacías */
        System.out.print("\n\nTexto1="+'"'+'"'+" \nTexto2="+'"'+'"');
        System.out.print("\nResultado método Combinacion = "+objetoCombinador.Combinacion("",""));
        System.out.print("\nResultado método CombinadoSiempre = "+objetoCombinador.CombinadoSiempre("",""));
    }
}

Un saludo

Erik_Escriche

  • Principiante
  • **
  • Mensajes: 65
    • Ver Perfil
Re:Alternativa al método combinadoSiempre sugerido Java CU00650B
« Respuesta #6 en: 06 de Noviembre 2016, 13:34 »
Ah, de acuerdo. ¡Muchas gracias!

Sí, sé que estaba resuelto en la entrega, pero como primero había escrito mi código sin mirar el propuesto y resultó ser bastante diferente, quería verificar preguntando en el foro si mi opción era correcta o si era preferible no crear el método de esta manera por algún convenio de programación.

ESOJ

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 143
    • Ver Perfil
Re:Alternativa al método combinadoSiempre sugerido Java CU00650B
« Respuesta #7 en: 07 de Noviembre 2016, 08:46 »
Buenos días.
Tu método también sería correcto.
Lo único que quitaría es la línea
Código: [Seleccionar]
System.out.println ("El resultado de la combinación es " + combinacionSiempre + ".");
       
Tu método ya devuelve el valor combinacionSiempre.
Un saludo.

Erik_Escriche

  • Principiante
  • **
  • Mensajes: 65
    • Ver Perfil
Re:Alternativa al método combinadoSiempre sugerido Java CU00650B
« Respuesta #8 en: 07 de Noviembre 2016, 15:14 »
Es verdad. No me había dado cuenta. Muchas gracias  ;D

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".