Autor Tema: CU00650B - Entrega nº50 del curso "Aprender programación Java desde cero".  (Leído 3271 veces)

MrClassic

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 37
    • Ver Perfil
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?

  • Partiendo del hecho de que un objeto vacio no es lo mismo que uno nulo, se entiende entonces que se cumpla con estas, la condicion propuesta por los if para ambas cadenas. hay que recordar que es este el valor por defecto de las variables tipo String

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, en ningun momento se establecen valores permanentes en ellos, solo se capturan dichos valores(Cadenas) desde los parametros de los metodos, se procesan y se retornan.
« Última modificación: 13 de Febrero 2015, 09:19 por MrClassic »
Quedo en espera de sus recomendaciones y/o correcciones.

Gracias.

toni_apr

  • Avanzado
  • ****
  • Mensajes: 497
  • Curiosidad, es uno de los pilares del Conocimiento
    • Ver Perfil
Hola MrClassic

Citar
Partiendo del hecho de que un objeto vacio no es lo mismo que uno nulo, se entiende entonces que se cumpla con estas, la condicion propuesta por los if para ambas cadenas. hay que recordar que es este el valor por defecto de las variables tipo String

Lo que dices es todo cierto, pero la pregunta no es teórica. Hay que observar el resultado del método para poder decir si es lógico o no.

Para que te ayude en la decisión. ¿Cual es el resultado que devuelve el método si el primer parámetro es "A" y el segundo "B"?
1º "AB"
2º "A B"
3º "BA"

Citar
No, en ningún momento se establecen valores permanentes en ellos, solo se capturan dichos valores(Cadenas) desde los parámetros de los métodos, se procesan y se retornan.

Si repasas la aparición de esos atributos, verás que se declaran y se inicializan en el constructor, y no aparecen en el resto del código.
Los métodos reciben parámetros que se parecen en el nombre a los atributos, pero repito, los atributos no aparecen en ningún otro lugar. Esos atributos no se utilizan para nada, sobran, son inoperantes, se pueden eliminar y el código no se resiente.

Saludos

MrClassic

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 37
    • Ver Perfil
Cordial Saludo,

Con respecto al resultado descrito,

Si ingreso como parametros las palabras "ala" y "barco" para crear objetos en ambos metodos en el orden establecido, el resultado o resultados serán;

Constructor Combinacion  =¨"ala bar"
Constructor CombinadoSiempre = "alabar"

Esto por la forma como se disponen los resultados a la hora de retornar el String resultante

Si lo ingresado es "";

Constructor Combinacion ="No aporta cadenas validas;
Constructor CombinadoSiempre = "";

Esto por las condiciones impuestas en cada metodo.

Por parte de las variables, si note que no se usan, pero talvez no fui muy claro al plantearlo.

Por parte del constructor CombinadoSiempre, creo que lo mas relevante es como se inicializan las variables enteras longitud_texto1 y longitud_texto2 con un valor de tres.
 
De esta forma se controla siempre que aunque el texto sea superior siempre se muestren solo tres caractes.

En el caso contrario "que sean inferiores a 3" ya se encuentra controlado asignandole dicho valor inferior a tres a estas mismas variables utilizando el metodo x.length().

creo que es aqui donde se encuentra la conyuntura del codigo.

Espero haber entendido y respondido bien el ejercicio, en caso contrario quedo espera de sus apreciaciones y con gusto tratare de interpretarlo mejor.

Slds.
Quedo en espera de sus recomendaciones y/o correcciones.

Gracias.

toni_apr

  • Avanzado
  • ****
  • Mensajes: 497
  • Curiosidad, es uno de los pilares del Conocimiento
    • Ver Perfil
Hola MrClassic

Todo lo que expones es cierto al 100%.
Has entendido y respondes bien, desde tu punto de vista.

La única objeción, es a la respuesta que da el método (no constructor)
    CombinadoSiempre(String valor_texto1, String valor_texto2)

Este método responde con esta expresión:
    valor_texto1.substring (0,longitud_texto1)+" "+ valor_texto2.substring (0, longitud_texto2);

Donde se ve un espacio en blanco entre las dos cadenas, cuando tu al parecer no contabas con el espacio en blanco.
Supongo que al traspasar este código a tu ordenador, el espacio en blanco se perdió.

Así, a este método, si se le aportan dos cadenas vacías como parámetros, responde con una cadena de longitud 1 (un espacio en blanco, que puede ser difícil de ver)

Por mi parte, este tema del método CombinadoSiempre (por cierto, está mal bautizado, por convención debería llamarse combinadoSiempre) no debería necesitar más comentarios (excepto que se haya quedado algo en el tintero)

Saludos
« Última modificación: 25 de Febrero 2015, 21:54 por toni_apr »

 

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