Autor Tema: Java ejercicios resueltos interface Comparator api java metodo compare CU00918C#  (Leído 1853 veces)

@mayakoski

  • Sin experiencia
  • *
  • Mensajes: 43
    • Ver Perfil
Planteo mi solución al ejercicio CU00918C del tutorial pdf de programación Java avanzada de aprenderaprogramar, espero les sirva

saludos


Código: [Seleccionar]
package claseCU00918C;

import java.util.Scanner;

public class Estudiante implements Comparable<Estudiante> {
private String nombre;
private int edad;
private int curso;

public Estudiante(String pNombre, int pEdad, int pCurso) {
this.nombre = pNombre;
this.edad = pEdad;
setCurso(pCurso);
}

@Override
public int compareTo(Estudiante o) {
return this.nombre.compareTo(o.nombre);
}

public String toString() {
return "El estudiante se llama: " + nombre + " tiene: " + edad + " años y esta en el " + curso + " curso"
+ "\n";
}

public String getNombre() {
return nombre;
}

public int getEdad() {
return edad;
}

public int getCurso() {
return curso;
}

public void setCurso(int curso) {
Scanner entradaTeclado = new Scanner(System.in);
if (curso < 5 && curso > 0) {
this.curso = curso;
} else {
do {
System.out.println("El curso ingresado para el Estudiante " + this.nombre
+ " no es valido Ingrese un curso valido");
curso = entradaTeclado.nextInt();
} while (curso > 5 || curso < 0);
this.curso = curso;
}
}
}


Código: [Seleccionar]
package claseCU00918C;

import java.util.Comparator;

public class OrdenEstudiantePorEdad implements Comparator<Estudiante> {

@Override
public int compare(Estudiante o1, Estudiante o2) {
return o1.getEdad() - o2.getEdad() ;
}

}


Código: [Seleccionar]
package claseCU00918C;

import java.util.Comparator;

public class OrdenEstudiantePorCurso implements Comparator<Estudiante> {

@Override
public int compare(Estudiante o1, Estudiante o2) {
return o1.getCurso() - o2.getCurso();
}

}


Código: [Seleccionar]
package claseCU00918C;

/* Ejemplo Interface Comparator aprenderaprogramar.com */

import java.util.ArrayList;

import java.util.Collections;

public class Programa {

public static void main(String arg[]) {
ArrayList<Estudiante> listaEstudiantes = new ArrayList<Estudiante>();
listaEstudiantes.add(new Estudiante("Carlos", 19, 3));
listaEstudiantes.add(new Estudiante("Felipe", 21, 1));
listaEstudiantes.add(new Estudiante("Ana", 18, 4));
listaEstudiantes.add(new Estudiante("Rosa", 15, 1));
listaEstudiantes.add(new Estudiante("Jose", 10, 2));

System.out.println("Estudiantes sin orden: \n" + listaEstudiantes);
listaEstudiantes.toString();

Collections.sort(listaEstudiantes);
System.out.println("Estudiantes ordenados por Nombre: \n" + listaEstudiantes);
listaEstudiantes.toString();

Collections.sort(listaEstudiantes, new OrdenEstudiantePorEdad());
System.out.println("Estudiantes ordenados por Edad: \n" + listaEstudiantes);
listaEstudiantes.toString();

Collections.sort(listaEstudiantes, new OrdenEstudiantePorCurso());
System.out.println("Estudiantes ordenados por Curso: \n" + listaEstudiantes);
listaEstudiantes.toString();
}

}
« Última modificación: 13 de Septiembre 2020, 13:06 por Ogramar »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2660
    • Ver Perfil
Buenas, ejercicio correctamente resuelto. Salu2

 

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