Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - brix

Páginas: [1]
1
Ejericio LINDO y un poco complicado porque <Comparable> se puede usar por ALTURA  pero luego por EDAD es una cosa chunguissima !  de toda forma SEÑORES y SEÑORAS os envio mi idea de solucion --> que no se para NADA buena .. pero FUNCIONA ! !


Código: [Seleccionar]
public class Main extends Persona {
    public static void main(String [] args){
        //aquy lo hago con un array
        // yo queria hacer sia x edad que por altura desde
        // este array
        Persona[] p1 = {new Persona("Mario",187,22),
                         new Persona("Pepe",173,52),
                         new Persona("Manuel",158,27),   
                         new Persona("David",164,25),
                         new Persona("Alberto",184,80),
                        };
        // este contador sirve para poner el numerito ..ahahahah
        int contador = 0;
        System.out.print("Personas sin ordenar"+"\n");
        for (int i = 0; i < p1.length; i++) {
            contador++;
            System.out.print(contador+" ");
            p1[i].visual();
        }
        //[b]LA Burbuja -- ]DARABUKA -- [/b]
       Ordenar.ordenar(p1);
       int contador2 = 0;
        System.out.print("\n"+"Personas orden por altura"+"\n");
        for (int i = 0; i < p1.length; i++) {
            contador2++;
            System.out.print(contador2+" ");
            p1[i].visual();
        }
        System.out.print("\n"+"Personas orden por EDAD--ME COSTO MUCHO"+"\n");
        int contador3 = 0;
        for (int i = 0; i < p1.length; i++){
            contador3++;
             p1[i].ordenaPorEdad(p1);
             System.out.println(p1[i]);
        }
}
}

---------------------------------------------------------------------------------------------
PERSONA
----------------------------------------------------------------------------------------------
public  class Persona implements Comparable<Persona> {
    private String nombre;
    private int edad, altura;
   
    public Persona(String nuevoNombre,int nuevaAltura, int nuvaEdad){
        this.nombre = nuevoNombre;
        if ((nuvaEdad >= 0) && (nuvaEdad < Short.MAX_VALUE)) this.edad = nuvaEdad;
        if ((nuevaAltura >= 0) && (nuevaAltura < Short.MAX_VALUE)) this.altura = nuevaAltura;
    }
   
    //public Persona(Persona[] p){
       
    //}
   
    public Persona(Persona p){
        this(p.nombre,p.edad,p.altura);
    }
    public Persona(){}
   
    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public int getEdad() {
        return edad;
    }
    //esto es para coprovar si se puede cambiar edad
    public void setEdad(int nuevaEdad) {
        edad = nuevaEdad;
    }

    public int getAltura() {
        return altura;
    }

    public void setAltura(int altura) {
        this.altura = altura;
    }
   
    @Override
    public int compareTo(Persona per){
        if(this.getAltura() > per.getAltura()) { return 1; }
        else if(this.getAltura() < per.getAltura()){ return -1; }
        else return 0;
    }
   
    public void visual(){
        System.out.println(toString());
        //String s = nombre.toString() + " - " + "Altura: " + altura + " - " + "Edad :" + " - " + edad;
    }
     
    @Override
    public String toString(){
        String s = nombre + " - " + "Altura: " + altura + " - " + "Edad :" + " - " + edad;
        return s;
    }
   
    public Persona[] ordenaPorEdad(Persona[] p1){
       Persona[] aux = new Persona[5];
       Persona p3 = new Persona();
       int c = 0;
     [b]  for (int i = 0; i < p1.length; i++){
           for(int j = i + 1; j < p1.length; j++){
               c++;
              if(p1[i].getEdad() > p1[j].getEdad()){
                   p3 = p1[i];
                   p1[i] = p1[j];
                   p1[j] = p3;[/b]
                   
                  [b] for(int n = 0; n < aux.length; n++){
                   aux[n]=p3;[/b]
                   //c++;
                   //System.out.print("\n"+ c +" "+aux);
                }
              }
           }
           //c++;  toda estas son la prueva que he echo !!!
           //for(int n = 0; n < aux.length; n++){
             //  System.out.print("\n"+c+" "+aux);
           }
           //System.out.print("\n"+c+" "+p3);  toda estas son la prueva que he echo !!!
     [b]  return aux;  [/b]
        }
        //return aux; toda estas son la prueva que he echo !!!
       }

--------------------------------------------------------------------------------------------------------------------
ORDENAR <Comparable> esta aquy ...mas o menos
-------------------------------------------------------------------------------------------------------------------


public  class Ordenar {
    /**
     *
     * @param p Persona
     */
    public static void ordenar(Comparable[] p){
      for(int i = 0; i < p.length; i++){
           for (int j = 0; j < p.length; j++){
              [b] if (p[i].compareTo(p[j])==-1){[/b]
                 [b]  Comparable c = p[i];[/b]
                   p[i]=p[j];
                   p[j]=c;
               }
           }
        }
     }
}

-----------------------------------------
------------------------------------------
-----------------------------------------
-----------------------------------------
Personas sin ordenar
1 Mario - Altura: 187 - Edad : - 22
2 Pepe - Altura: 173 - Edad : - 52
3 Manuel - Altura: 158 - Edad : - 27
4 David - Altura: 164 - Edad : - 25
5 Alberto - Altura: 184 - Edad : - 80

Personas orden por altura
1 Manuel - Altura: 158 - Edad : - 27
2 David - Altura: 164 - Edad : - 25
3 Pepe - Altura: 173 - Edad : - 52
4 Alberto - Altura: 184 - Edad : - 80
5 Mario - Altura: 187 - Edad : - 22

Personas orden por EDAD--ME COSTO MUCHO
Mario - Altura: 187 - Edad : - 22
David - Altura: 164 - Edad : - 25
Manuel - Altura: 158 - Edad : - 27
Pepe - Altura: 173 - Edad : - 52
Alberto - Altura: 184 - Edad : - 80
BUILD SUCCESSFUL (total time: 0 seconds)


Páginas: [1]

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".