Autor: Patricio Aros Erices
Competencia: Aplica las ciencias de la ingeniería(Nivel 1)
En el bonus point realizado donde se debía ingresar una persona en la base de datos, fue uno de los primeros acercamientos de lo que el principalmente cliente-servidor, aun asi en una parte específica de un bonus point se nos pedía hacer una comparacion de ruts dentro de una colección para que fuera ordenando automaticamente, esto se hizo ya que debíamos decirle de alguna manera al treeset como ordenar los rut segun se pidiera, en nuestro caso se hizo que solo se tomara el rut sin números y ver si es que este era mayor o menor a otro. Para realizar la operacion de ver si este era mayor o menor se debia separar del digito verificador los demas numeros ademas se debia sobreescribir el metodo llamado compareTo, por lo que mencioné antes que se le debe decir a la coleccion como ordenar los datos.
Para ejemplificarlo de alguna manera solo mostrare la parte de compareTo
@Override
public int compareTo(Object objetoIn) {
Persona otraPersona = (Persona) objetoIn; // Transformo el objeto recivido, a un objeto del tipo persona.
if (this.getRut().equalsIgnoreCase(otraPersona.getRut())) {
return 0;
}
String[] rutDivIn = otraPersona.getRut().split("-");
String[] rutDivThis = this.getRut().split("-");
int rutSinGuionIn = Integer.parseInt(rutDivIn[0]);
int rutSinGuionThis = Integer.parseInt(rutDivThis[0]);
if (rutSinGuionThis > rutSinGuionIn) {
return 1;
}
if (rutSinGuionThis < rutSinGuionIn) {
return -1;
}
return 1;
}
Como se aprecia en el codigo, primero que nada se sobreescribe el metodo que vamos a utilizar, luego toma un objeto y este se transforma un objeto de tipo persona(persona es la clase que se esta usando para crear contructores tipo Persona, valga la redundancia), luego se va haciendo la operacion de ir separando el rut del numero verificador y simplemente ver si es mayor o menor retornar 1 o -1 segun corresponda para cada caso.
Reflexion
Aunque no se note mucho el uso de la matematica en sí cabe destacar que esta presente en la mayoria de trabajos y/o programas que realizamos, esto para obtener mejores resultados y para poder tener un software mas optimo, si bien fue solo comparación lo que se mostro en esta actividad, hay que mencionar que no es facil modificar un metodo ya existente para que funciona de manera distinta
0 comentarios:
Publicar un comentario