Hola ,espero puedan ayudarme estoy tratando de hacer un programa en donde tengo una clase llamada Alumno donde tengo definidas las siguientes variables
public class Alumno {
String name;
int edad;
float calif;
}
y mi main,en el cual tengo por ahorita definidos dos metodos uno que inicializa a los alumnos y otro que me los muestra por pantalla, pero tengo problemas para realizar un tercer metodo en el cual me muestre al alumno con mayor calificacion esto incluyendo todos sus datos , espero puedan ayudarme este es mi codigo
import java.util.Scanner;
public class Prog2 {
public static void ini_alumno (Alumno A){
Scanner leer = new Scanner(System.in);
System.out.println("Da nombre");
A.name = leer.nextLine();
System.out.println("Da edad de " + A.name + ": ");
A.edad = leer.nextInt();
A.calif = (float)(Math.random()*10.0); // La calificacion se obtiene aleatoriamente.
}
public static void ver_info_alumno(Alumno A){
System.out.printf("%s\t\t%d\t\t%2.1f\n",A.name,A.edad,A.calif);
}
static float promedio(float AlumnoA1 , float AlumnoA2, float AlumnoA3){ //Funcion
float prom;
prom = (AlumnoA1 + AlumnoA2 + AlumnoA3)/3;
return prom;
}
static Alumno mejor_calificacion (Alumno A1 , Alumno A2, Alumno A3){// Este es el //metodo que no puedo realizar
if(A1.calif>A2.calif){// aqui comparo las califcaciones
return System.out.println(ver_info_alumno(A1));//Pero en esta parte no se // como realizar el return del metodo , ya que no se como retornar un objeto
}
}
public static void main(String[] args) {
System.out.println("Alumno 1");
Alumno A1= new Alumno();
ini_alumno(A1);
System.out.println("Alumno 2");
Alumno A2= new Alumno();
ini_alumno(A2);
System.out.println("Alumno 3");
Alumno A3= new Alumno();
ini_alumno(A3);
System.out.println("Nombre "+" Edad "+ " Calificacion");
ver_info_alumno(A1);
ver_info_alumno(A2);
ver_info_alumno(A3);
System.out.printf("fEl promedio de los alumnos es :"+promedio(A1.calif, A2.calif, A3.calif));
}
}
Espero puedan ayudarme,soy nuevo en esto gracias!!