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.


Temas - lealivan009

Páginas: [1]
1
Hola!! quisiera saber como resolvieron el ejercicio de ordenar las edades? Ejercicio CU00913C del curso avanzado de programación Java.

Yo lo hice así:
 
Código: [Seleccionar]
CLASE MAIN
////////////////////////////////////
package practica1;

import java.util.ArrayList;

import java.util.List;

public class Main3
{
    public static void main(String[]args)
    {
    Test2 p1=new Test2("Mario", 187, 22);
    Test2 p2=new Test2("Pepe", 173, 52);
    Test2 p3=new Test2("Manuel",158,27);
    Test2 p4=new Test2("David", 164, 25);
    Test2 p5=new Test2("Alberto", 184, 80);
   
    List <Test2> l=new ArrayList<>();
    l.add(p1);
    l.add(p2);
    l.add(p3);
    l.add(p4);
    l.add(p5);
   
        System.out.println("Orden inicial");
        for (int i = 0; i < l.size(); i++)
        {
            System.out.println(i+1+" - "+l.get(i).getNombre()+", "+l.get(i).getAltura()+", "+l.get(i).getEdad());   
        }
   
        System.out.println("Ordenados por altura");
        for (int i = 0; i < l.size(); i++)
        {
            int contador=1;
           
            for (int j = 0; j < l.size(); j++)
            {
             if(l.get(i).compareTo(l.get(j))==-1)
             {
             contador++;
             }
               
            }
            System.out.println(contador+" - "+l.get(i).getNombre()+", "+l.get(i).getAltura()+", "+l.get(i).getEdad());
           
   
        }
        System.out.println("Ordenado por edad");
        for (int i = 0; i < l.size(); i++)
        {
        int contador=1;
            for (int j = 0; j < l.size(); j++)
            {
                if (l.get(i).compareToEdad(l.get(j))==-1)
                {
                    contador++;
                }
             
           
            }
            System.out.println(contador+" - "+l.get(i).getNombre()+", "+l.get(i).getAltura()+", "+l.get(i).getEdad());
        }
   
     
       
    }
}
///////////////////////
CLASE QUE LLEVA LOS ATRIBUTOS
//////////////////////

package practica1;

public class Test2 implements Comparable<Test2>
{
   private String nombre;
   private int altura;
   private int edad;
   
   public Test2(String n, int a, int e)
   {
   this.nombre=n;
   this.altura=a;
   this.edad=e;
   }
   
   public int compareTo(Test2 t)
   {
   int resultado=0;
   if(this.altura>t.altura){resultado=1;}
   else if(this.altura<t.altura){resultado=-1;}
   else {resultado=0;}
   
   return resultado;
   }
   
   public int compareToEdad(Test2 t)
   {
   int resultado=0;
   if(this.edad>t.edad){resultado=1;}
   else if(this.edad<t.edad){resultado=-1;}
   else{resultado=0;}
   return resultado;
   }

    public String getNombre() {
        return nombre;
    }

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

    public int getAltura() {
        return altura;
    }

    public void setAltura(int altura) {
        this.altura = altura;
    }

    public int getEdad() {
        return edad;
    }

    public void setEdad(int edad) {
        this.edad = edad;
    }
   
   
}
//////////////////////
RESULTADO
/////////////////////
Orden inicial
1 - Mario, 187, 22
2 - Pepe, 173, 52
3 - Manuel, 158, 27
4 - David, 164, 25
5 - Alberto, 184, 80
Ordenados por altura
1 - Mario, 187, 22
3 - Pepe, 173, 52
5 - Manuel, 158, 27
4 - David, 164, 25
2 - Alberto, 184, 80
Ordenado por edad
5 - Mario, 187, 22
2 - Pepe, 173, 52
3 - Manuel, 158, 27
4 - David, 164, 25
1 - Alberto, 184, 80
Pero no se si era de esa forma que habia que hacerlo! y como se podria hacer para q me aparecieran ordenados por posiciones(de mayor a menor) y no solo x el indice

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".