SoloCodigo

Programación General => Java => Mensaje iniciado por: toxikomano en Domingo 24 de Junio de 2007, 17:53

Título: Ayuda
Publicado por: toxikomano en Domingo 24 de Junio de 2007, 17:53
hola necesito de su ayuda

Hice clase reales, que tiene un ArrayList de objetos de clase Real. La clase Real tiene un parte entera y una parte decimal. Y tengo que hacer un método  para ordenar en la clase Reales.

Tengo esto:
 
public class Real {

   private int entero;
   private int decimal;
   
   public int getDecimal() {
      return decimal;
   }
   
   public int getEntero() {
      return entero;
   }
   
   public Real(int entero, int decimal) {
      super();
      this.entero = entero;
      this.decimal = decimal;
   }
}
 

y en esta clase tengo que hacer un metodo para ordenarlos quen me podria ayudar

import java.util.ArrayList;
import java.util.Random;


public class Reales {

    private ArrayList numeros;
   

    public Reales() {
        this.numeros = new ArrayList();
    }
   
     public void ordenarArreglo()
      {
       
}           
           
       
    public void rellenar(int n) {
        Random rnd = new Random();
        for (int i = 0; i < n; i++) {
            Real r = new Real(rnd.nextInt(100),rnd.nextInt(100));
            numeros.add®;
        }
    }
   
    public void imprimir() {
      for (int i = 0; i < numeros.size(); i++) {
         Real r = (Real)numeros.get(i);
         System.out.println(r.getEntero()+"."+r.getDecimal());
      }
   }
}


eso.

SAludos.
Título: Re: Ayuda
Publicado por: Nagisa en Lunes 25 de Junio de 2007, 00:01
Hola  :hola:  :

Para ordenar un array hay muchos métodos. Uno de los más sencillos es el método de la burbuja o bubble sort (http://es.wikipedia.org/wiki/Ordenamiento_de_burbuja).

También necesitaras una relación de orden, que determine dados dos objetos de tu clase cuál es "mayor". En este caso es sencillo: comparas las partes enteras, y son son iguales, comparas las decimales.

Por último, échale un vistazo a la interfaz Comparator (http://java.sun.com/j2se/1.4.2/docs/api/java/util/Comparator.html) y al método estático Arrays.sort() (no pongo link por que sale mal...).

Espero que te sea útil.  :lightsabre:

Un saludo.