Java - Ver registros ordenados.......???????

 
Vista:

Ver registros ordenados.......???????

Publicado por Alrows (46 intervenciones) el 30/03/2007 00:09:01
El problema no parece tan grave.........Tengo una lista de registros (C.C., nombre,apellido) y los estoy imprimiendo en un texarea el problema es que como las cedulas , nombres o apellidos no tienen el miosmo tamaño sale desordenado........como puedo imprimir esos registros de una forma ordenada?????????

asi es como me salen:

155247 ana perez
58 juan hernandez
15547888 camila rodriguez
1244 mario andrade

Saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ver registros ordenados.......???????

Publicado por angel (537 intervenciones) el 30/03/2007 13:59:11
Esta es una clase de ejemplo, intenta adaptarla a tus necesidades...

/************************/
import java.util.ArrayList;
public class Ejemplo
{

class Registro{String cc; String nombre; String ap;
public Registro(String cc, String nombre, String ap)
{
this.cc=cc;
this.nombre=nombre;
this.ap = ap;
}
};

ArrayList alr = new ArrayList();

public Ejemplo()
{
alr.add(new Registro("155247","ana","perez"));
alr.add(new Registro("58","juan","hernandez"));
alr.add(new Registro("155247151","camila","rodriguez"));
}


public void ejecutar(){
int[] max = new int[]{0,0,0};
for(int i=0;i<alr.size();i++)
{
Registro r = (Registro)alr.get(i);
if(r.cc.length()>max[0])
max[0] = r.cc.length();
if(r.nombre.length()>max[1])
max[1] = r.nombre.length();
if(r.ap.length()>max[2])
max[2] = r.ap.length();
}

for(int i=0;i<alr.size();i++)
{
Registro r = (Registro)alr.get(i);
System.out.println(r.cc+blancos(max[0]-r.cc.length())+
" " + r.nombre+blancos(max[1]-r.nombre.length())+
" " + r.ap+blancos(max[2]-r.ap.length()));
}
}


public String blancos(int cont)
{
String b = "";
for(int i=0;i<cont;i++)
{
b+=" ";
}
return b;
}

public static void main(String[] args)
{
new Ejemplo().ejecutar();
}

}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar