Recién empiezo a entrar en el mundo java veras quisiera saber si me puedes ayudar en lo siguiente tengo que poner un método llamado tipoAlumno() en donde devolverá un String que indique, dependiendo de su promedio, si el alumno es "sobresaliente" (si tiene entre 9 y 10), "bueno" (si tiene entre 8.9 y 8), "regular" (si tiene entre 7.9 y 7) o "deficiente" (si tiene menos de 6.9)
Respuesta de gomecan
1
1
gomecan, Analista programador con experiencia en: Java 2EE, Hibernate,...
Compayitito, Este puede ser un ejemplo (si realmente quieres aprender, creo que mejor es intentarlo y luego comentar las dudas o problemas que te surjan): public String tipoAlumno(final float promedio){ if ((promedio >= 9) && (promedio <= 10)){ return "sobresaliente"; } else if ((promedio >= 8) && (promedio < 9)){ return "bueno"; } else if ((promedio >= 7) && (promedio < 8)){ return "regular"; } else{ return "deficiente"; } }
Hola gracias por contestar el promedio lo había determinado de la siguiente manera y el planteamiento del programa el siguiente: 1.- Escriba una clase llamada Alumno que tenga los siguientes atributos: nombre de tipo String, apellido de tipo String, tres calificaciones (cal1, cal2 y cal3) de tipo entero. La clase deberá contener los siguientes métodos: Alumno() - Constructor que inicializará todos los atributos de la clase con valores recibidos por parámetros calculaPromedio() - Que regresara el promedio de las 3 calificaciones calculaMinimo() - que regresará el valor de la calificación mínima entre cal1, cal2 y cal3 calculaMaximo() - que regresará el valor de la calificación máxima entre cal1, cal2 y cal3 tipoAlumno() - devolverá un String que indique, dependiendo de su promedio, si el alumno es "sobresaliente" (si tiene entre 9 y 10), "bueno" (si tiene entre 8.9 y 8), "regular" (si tiene entre 7.9 y 7) o "deficiente" (si tiene menos de 6.9) toString() - Que devuelva los valores de todos los atributos de la clase Escriba una clase, llamada PruebaAlumno, que instancie dos objetos de la clase Alumno y asigne valores a todos sus atributos al momento de crear los objetos. Para el primer objeto los valores son "José","Aguirre", 7, 8 y 9. Para el segundo objeto los valores son "Josefina","Gutiérrez", 8, 8 y 10. La clase deberá primero mostrar la información de los dos objetos creados y al final mostrará el valor mínimo de las tres calificaciones, el promedio de las mismas y el tipo de alumno que es. class Alumno { public String nombre; public String apellido; public int cal1,cal2,cal3; public Alumno(String nom, String ape,int cal1,int cal2,int cal3) { nombre = nom; apellido = ape; this.cal1 = cal1; this.cal2 = cal2; this.cal3 = cal3; } public float calculaPromedio() { float promedio; promedio = (cal1 + cal2 + cal3)/3; return promedio; } public int calculaMinimo() { int minimo; if (cal1 < cal2 || cal1 < cal3); minimo = cal1; if (cal2 < cal1 || cal2 < cal3); minimo = cal2; if (cal3 < cal1 || cal3 < cal2); minimo = cal3; return minimo; } public int calculaMaximo() { int maximo; if (cal1 > cal2 || cal1 > cal3); maximo = cal1; if (cal2 > cal1 || cal2 > cal3); maximo = cal2; if (cal3 > cal1 || cal3 > cal2); maximo = cal3; return maximo; } public String tipoAlumno() { String tipo=""; float p; p=calculaPromedio(); if (p < 7 ) tipo="Deficiente"; if (p >= 7 || p < 8 tipo="Regular"; if (p >= 8 || p < 9) tipo="Bueno"; if (p >= 9 ) tipo="Sobrealiente"; return tipo; } public String toString() { return nombre+" "+apellido+" "+Integer.toString(cal1)+" "+Integer.toString(cal2)+" "+Integer.toString(cal3); } public class PruebaAlumno { static Alumno alum1 = new Alumno("jose","Aguirre",7,8,9); static Alumno alum2 = new Alumno("josefina","Guitierrez",8,8,10); public static void main(String[] args) { System.out.println(alum1 + caluclaMinimo()+ calculaPromedio()+ tipoAlumno()); System.out.println(alum2); } } En este ultimo la vdd no se como llamar el método calculaMinimo, calculaPromedio y tipoAlumno para que muestre lo que me piden de antemane le agradezco su atención
No entiendo muy bien la pregunta. Con esta línea: System. Out.println(alum1 + caluclaMinimo()+ calculaPromedio()+ tipoAlumno()); haces la llamada a los métodos y se muestran los resultados. Por otro lado, el método tipoAlumno está mal, ya que por ejemplo para un promedio de 7 devolverá "Bueno" ya que es menor que 9 y en la condición has usado un OR (debe ser mayor igual que 8 Ó menor que 9). Creo que es más correcta la versión que te pasé.
Si es vdd es mejor el que me pasate ya corrí el programa y salio bien en cuanto a las otras lineas lo que pretendía era llamar al método para resolver lo que me pedían en el ejercicio y lo me di cuenta era que tenia que llamar al objeto alum1 junto con el método y lo reolvi de la siguiente manera si crees que hay otra opción te agradecería de antemano te agradezco la molestia por contestar. public class PruebaAlumno { static Alumno alum1 = new Alumno("jose","Aguirre",7,8,9); static Alumno alum2 = new Alumno("josefina","Guitierrez",8,8,10); public static void main(String[] args) { System.out.println("Nombre: "+alum1 + "Cual es la calificacion minima: "+alum1.caluclaMinimo()+"Cual e el promedio: "+alum1.calculaPromedio()+"Tipo de Alumno: "+ alum1.tipoAlumno()); System.out.println("Nombre: "+alum2 + "Cual es la calificacion minima: "+alum2.caluclaMinimo()+"Cual e el promedio: "+alum2.calculaPromedio()+"Tipo de Alumno: "+ alum2.tipoAlumno());