Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: jaivcaba en 19 de Noviembre 2014, 06:39
-
Aquí el código... de antemano gracias por comentar
public class CadenasTexto{
public CadenasTexto(){}
String combinacionA(String valor_texto1, String valor_texto2){
if (valor_texto1.length() >=3 && valor_texto2.length() >=3){
String combinacionA = valor_texto1.substring (0, 3) + " " + valor_texto2.substring (0 ,3);
return combinacionA;
} else { return "No aporta cadenas válidas"; }
}
String combinacionB (String valor_texto1, String valor_texto2){
int longitud_texto2 = 3;
String combinacionB = "";
if (valor_texto1.length() >=3 && valor_texto2.length() <3) {
longitud_texto2 = valor_texto2.length();
combinacionB = valor_texto1.substring (0,3) + " " + valor_texto2.substring(0,longitud_texto2);
return combinacionB;
}else { return "No aporta cadenas válidas"; }
}
String combinacionC (String valor_texto1,String valor_texto2){
if (valor_texto1.length() <3 && valor_texto2.length() <3){
String combinacionC = valor_texto1.substring(0,2) + " " + valor_texto2.substring(0,2);
return combinacionC;
}else{return "No aporta cadenas valida";}
}
}
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?
Si me parece lógico ya que al enviar cadenas vacías el método queda
valor_texto1.substring (0,0)+" "+ valor_texto2.substring (0,0), por lo tanto lo único que devuelve el método es "".
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?
Creo que los atributos
private String texto1;
private String texto2;
public Combinador () { texto1 = ""; texto2 = ""; }
no tienen gran utilidad dentro del código y no se usan dentro del código ya que este este utiliza los parámetros String valor_texto1,String valor_texto2 para resolver los métodos.
-
hola jaivcaba
Faltó un método que combine siempre
De paso, para compartir ideas, cito esto y comento luego
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?
Citar
Si me parece lógico ya que al enviar cadenas vacías el método queda
valor_texto1.substring (0,0)+" "+ valor_texto2.substring (0,0), por lo tanto lo único que devuelve el método es "".
También le veo lógica, pero no le veo sentido que devuelva nada xd
para hacer algo intuitivo al programa, partiendo del ejemplo en el curso
String CombinadoSiempre (String valor_texto1, String valor_texto2) {
int longitud_texto1 = 3; //Si podemos extraeremos tres caracteres
int longitud_texto2 = 3;
String CombinadoSiempre = ""; //Cadena vacía, variable local
if (valor_texto1.length() < 3) { //Si hay menos de 3 caracteres extraemos los que haya
longitud_texto1 = valor_texto1.length();
}
if (valor_texto2.length() < 3) { longitud_texto2 = valor_texto2.length(); }
CombinadoSiempre = valor_texto1.substring (0,longitud_texto1)+" "+ valor_texto2.substring (0, longitud_texto2);
return CombinadoSiempre;
cambiaria la ultima parte a
if (valor_texto1.equals("")&&valor_texto2.equals("")){
CombinadoSiempre="No hay nada para combinar";
}else{
CombinadoSiempre = valor_texto1.substring (0,longitud_texto1)+" "+ valor_texto2.substring (0, longitud_texto2);
}
return CombinadoSiempre;
cosa de que al no escribir nada de nada, avise
-
Hola jaivcaba
Comento las respuestas a esta entrega:
El método CombinadoSiempre al que se le pasan dos cadenas vacías como parámetros, devuelve un espacio en blanco " ", no una cadena vacía ""
CombinadoSiempre = valor_texto1.substring (0,longitud_texto1)+" "+ valor_texto2.substring (0, longitud_texto2);
es el espacio que unía, o separaba las dos cadenas.
Tal como dice LPM estaría bien que para ese caso el método devolviera un texto explicativo distinto porque el espacio en blanco es 'invisible' y no se sabe si el programa no da respuesta, o no sabe darla.
En cuanto a los atributos texto1 y texto2, efectivamente no son necesarios pues no se utilizan en ningún lugar del código. Bien.
En cuanto a tu clase CadenasTexto
Esta bien como práctica si querías hacer una variación sobre la clase Combinador.
Saludos