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 23 de Febrero 2017, 22:01
-
Hola a todos. Os paso mi código del ejercicio 2 del tema de Arrays CU00903C del curso avanzado de programación en Java.
GRACIAS. Un saludo.
public class NotasAlumnos {
Scanner sc=new Scanner(System.in);
int n;
String[] alumno;
double[] nota;
String[] resultado={"Suspenso","Bien","Notable","Sobresaliente"};
String calificacion;
public int introNum(){
System.out.println("Introduzca el número de alumnos");
n=sc.nextInt();
return n;
}
//Método para introducir nombre y nota de alumnos
public void introDatos(){
alumno=new String[n];
nota= new double[n];
for(int i=0; i<n; i++){
System.out.println("Introduzca el nombre del alumno "+i+": ");
sc.nextLine();
alumno[i]=sc.nextLine();
do{
System.out.println("Introduzca la nota del alumno "+alumno[i]+": ");
sc.useLocale(Locale.US);
nota[i]=sc.nextDouble();
}while(nota[i]<0 || nota[i]>10);
}
}
//Método para calificar las notas de los alumnos
public String calificarNotas(){
for(int i=0; i<n; i++){
if (nota[i]<5){
calificacion=resultado[0];
}else if (nota[i]>=5 && nota[i]<7){
calificacion = resultado[1];
}else if (nota[i]>=7 && nota[i]<9){
calificacion = resultado[2];
}else if(nota[i]>7 && nota[i]<=10){
calificacion=resultado[3];
}
System.out.println("Nombre alumno: "+alumno[i]+", nota: "+nota[i]+". Calificación: "+calificacion);
}
return calificacion;
}
}
Clase con el main:
public class Principal{
public static void main(String[]args){
NotasAlumnos d=new NotasAlumnos();
d.introNum();
d.introDatos();
d.calificarNotas();
}
}
-
Buenas Pepote21, lo primero es pedirte que todos los ejercicios de una entrega de un curso los pongas juntos en el mismo hilo.
También pedirte que para poner título a los temas lo hagas según se explica en https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0
Voy a revisarlo, luego trataré de buscar el hilo del ejercicio 1 para unirlo y que queden los dos ejercicios juntos
Salu2
-
Buenas, sobre el ejercicio comentar
- Debes comprobar que el código compile. Al intentar compilarlo me ha salido el mensaje cannot find symbol - class Scanner porque faltaba el import java.util.Scanner; (ya lo he añadido yo). También faltaba import java.util.Locale; (ya lo he añadido)
- Para acostumbrarte a hacer programación orientada a objetos sería preferible que definas clases, por ejemplo en este ejercicio podrías haber definido dos clases: Alumno, y TestAlumno (clase con el main)
- Debes acostumbrarte a poner nombres adecuados a las clases, lee https://www.aprenderaprogramar.com/foros/index.php?topic=3035.msg13698#msg13698 para ver cómo hacerlo
- Hay cosas que no queda muy claro si las haces con algún fin o si lo haces sin un fin
Por ejemplo el método introNum podría definirse así:
public void introNum(){
System.out.println("Introduzca el número de alumnos");
n=sc.nextInt();
}
Tú has definido el método con un return, pero ese return no tiene utilidad (al menos en este código). No está mal como lo has hecho, pero no está claro si lo haces por una posible utilidad futura o si es un mal diseño.
Salu2