Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: Pepote21 en 15 de Febrero 2017, 21:06
-
Hola a todos. Aquí os envio mi código de 4 clases para el ejercicio CU00918C del curso avanzado de Java.
GRACIAS. Un saludo.
public class Estudiante implements Comparable<Estudiante>{
private String nombre;
private int edad;
private int curso;
public Estudiante(){
nombre="";
edad=0;
curso=0;
}
public Estudiante(String nombre,int edad,int curso){
this.nombre=nombre;
this.edad=edad;
this.curso=curso;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public int getEdad() {
return edad;
}
public void setEdad(int edad) {
this.edad = edad;
}
public int getCurso() {
return curso;
}
public void setCurso(int curso) {
this.curso = curso;
}
@Override
public String toString(){
return "\nNombre: "+nombre+", "+edad+" años, curso "+curso+". ";
}
@Override
public int compareTo(Estudiante o) {
return this.nombre.compareTo(o.nombre);
}
}
import java.util.Comparator;
public class OrdenarPorCurso implements Comparator<Estudiante>{
@Override
public int compare(Estudiante o1, Estudiante o2) {
return o1.getCurso()-o2.getCurso();
}
}
import java.util.Comparator;
public class OrdenarPorEdad implements Comparator<Estudiante>{
@Override
public int compare(Estudiante o1, Estudiante o2) {
return o1.getEdad()-o2.getEdad();
}
}
import java.util.ArrayList;
import java.util.Collections;
public class Principal {
public static void main(String[] args){
ArrayList<Estudiante> listaEstudiantes=new ArrayList<Estudiante>();
listaEstudiantes.add(new Estudiante("Joaquín",18,4));
listaEstudiantes.add(new Estudiante("Juan",15,1));
listaEstudiantes.add(new Estudiante("Vicente",18,5));
listaEstudiantes.add(new Estudiante("Laura",19,5));
listaEstudiantes.add(new Estudiante("María",17,3));
Estudiante a=new Estudiante();
System.out.println("Lista de estudiantes sin ordenar: "+listaEstudiantes.toString());
Collections.sort(listaEstudiantes);
System.out.print("Lista estudiantes ordenados por orden alfabético: ");
for(Estudiante tmp:listaEstudiantes){
System.out.print(tmp.getNombre()+", ");
}
Collections.sort(listaEstudiantes, new OrdenarPorEdad());
System.out.print("\nLista estudiantes ordenados por edad: ");
for(Estudiante tmp:listaEstudiantes){
System.out.print(tmp.getNombre()+"("+tmp.getEdad()+")"+", ");
}
Collections.sort(listaEstudiantes, new OrdenarPorCurso());
System.out.print("\nLista estudiantes ordenados por curso: ");
for(Estudiante tmp:listaEstudiantes){
System.out.print(tmp.getNombre()+(" ")+"("+tmp.getCurso()+")"+", ");
}
}
}
-
Buenas, ejercicio bien resuelto. Lo único que mejoraría es el nombre de las clases. En lugar de OrdenarPorCurso podría ser ComparadorOrdenPorCurso o algo similar
Salu2