[desde el Foro]Ordenar un Arreglo de Objetos

Desde el foro nos llega este pequeño programa que nos ayudará con el ordenamiento de arreglos en Java.
Todo esto gracias a xminoruu!!.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | import java.io.*; import java.util.*; //aca es creada la clase Persona con sus Atributos y comportamientos (metodos) class Persona{ private String nombre; private int edad; public void setNombre(String nom){ nombre=nom; } public String getNombre(){ return nombre; } public void setEdad(int ed){ edad=ed; } public int getEdad(){ return edad; } } public class Main { public static void main(String[] args) throws IOException { //Creacion de un scanner para leer String Scanner entradaS = new Scanner(System.in); //Creacion de un scanner para leer Numeros Scanner entradaI = new Scanner(System.in); /*Nota: los dos tipos de Scanner son iguales, pero se crean dos por que si se ingresa un String primero y despues se desea ingresar un numero java no lo pesca, el profesor Sire me explico el porque pero no le caxe*/ //Creaion del Arreglo que contiene a los objetos de tipo persona Persona grupo[]=new Persona[5]; //Creacion de Variables para usarlas en el for... cosa ultra conocida int i,j; /*Creacion de una variable auxiliar que nos permitira realizar el cambio en el momento que no se encuentre ordenado*/ Persona aux= new Persona(); //creacion de los objetos dentro del arreglo y llenado de datos for(i=0;i<grupo.length;i++) { /*para los uqe no vinieron ese dia, es dentro de cada casillero donde se tiene que crear el objeto, lo que antes se hizo fue crear los casilleros que admitan a los objetos de tipo persona, bueno si no entienden pregunten*/ grupo[i]=new Persona(); //aca ya empiezas a ingresar los datos System.out.print("ingrese nombre:"); grupo[i].setNombre(entradaS.nextLine()); System.out.print("ingrese edad:"); grupo[i].setEdad(entradaI.nextInt()); } //este es la parte que importa por uqe aca ya empieza a ordenar for(i=0;i<grupo.length;i++) { for(j=i+1;j<grupo.length;j++){ if(grupo[i].getNombre().compareTo(grupo[j].getNombre())>0){ aux=grupo[i]; grupo[i]=grupo[j]; grupo[j]=aux; } } } //y por ultimo se muestran como quedaron ordenados for(i=0;i<grupo.length;i++) { System.out.println(" nombre:" + grupo[i].getNombre( ) ); System.out.println(" edad :" + grupo[i].getEdad( ) ); } } } |
Categorias: Noticias

(1 votos)






