Me podriais echar un cable?
- El error sale en la clase Operaciones por la mitad mas o menos, muchisimas gracias por adelantado.
Un saludo.
Clase NotasAlumno
Código:
package pidonDela; public class NotasAlumno { private int calificacion; private String nombreMateria; public NotasAlumno() { calificacion=0; nombreMateria=""; } public int getCalificacion() { return calificacion; } public void setCalificacion(int calificacion) { this.calificacion = calificacion; } public String getNombreMateria() { return nombreMateria; } public void setNombreMateria(String nombreMateria) { this.nombreMateria = nombreMateria; } }
Clase Alumno
Código:
package pidonDela; public class Alumno { private String nombreAlumno; private NotasAlumno notasAlumno; public Alumno() { nombreAlumno=""; notasAlumno=null; } public String getNombreAlumno() { return nombreAlumno; } public void setNombreAlumno(String nombreAlumno) { this.nombreAlumno = nombreAlumno; } public NotasAlumno getNotasAlumno() { return notasAlumno; } public void setNotasAlumno(NotasAlumno notasAlumno) { this.notasAlumno = notasAlumno; } }
Clase Operaciones(Error)
Código:
Main/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package pidonDela; import java.util.Arrays; import javax.swing.JOptionPane; /** * * @author Dela */ public class Operaciones { private int cantidadAprovados; private int cantidadSuspensos; private float promedioPromedios; private static int salida; private static String nombreAlumno; private static String nombreAsignatura; private static int nota; private static Alumno [] alumno; private static NotasAlumno notas; private static int posicionAlumno = 0; public static void pidon(){ salida = Integer.parseInt(JOptionPane.showInputDialog("¿Desea Ingresar Datos de un Alumno?"+ "\nPulsa 1 para ingresar un alumno, 2 para salir.")); while (salida != 1 && salida != 2){ System.out.println("Ha insertado un caracter erroneo"); salida = Integer.parseInt(JOptionPane.showInputDialog("¿Desea Ingresar Datos de un Alumno?"+ "\nPulsa 1 para ingresar un alumno, 2 para salir.")); if (salida == 1 || salida == 2){ break; } } while (salida == 1){ nombreAlumno = JOptionPane.showInputDialog("Inserte el nombre del Alumno"); Alumno[] newAlumnos; if (alumno== null) { //creo el vector de notas del dcto alumno = new Alumno[1]; } else { newAlumnos = Arrays.copyOf(alumno, alumno.length+1); alumno=newAlumnos; } //AQUI ME DA EL ERROR !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! alumno[alumno.length-1].setNombreAlumno(nombreAlumno); nombreAsignatura=""; while (!nombreAsignatura.equalsIgnoreCase("fin")){ nombreAsignatura = JOptionPane.showInputDialog("Inserte el nombre del Modulo"); if(nombreAsignatura.equalsIgnoreCase("fin")){ break; } do{ nota = Integer.parseInt(JOptionPane.showInputDialog("Inserte la nota valida de 0 a 10")); }while(nota>10 || nota<0); } System.out.println("Ha insertado un nuevo alumno"+alumno[posicionAlumno-1].getNombreAlumno()); salida = Integer.parseInt(JOptionPane.showInputDialog("¿Desea Ingresar Datos de otro Alumno?"+ "\nPulsa 1 para ingresar otro alumno, 2 para parar de ingresar.")); while (salida != 1 && salida != 2){ System.out.println("Ha insertado un caracter erroneo"); salida = Integer.parseInt(JOptionPane.showInputDialog("¿Desea Ingresar Datos de otro Alumno?"+ "\nPulsa 1 para ingresar otro alumno, 2 para parar de ingresar.")); if (salida == 1 || salida == 2){ break; } } }//fin while 1 }//fin metodo pidon }//fin clase
Código:
package pidonDela; public class Main { public static void main(String[] args) { // TODO code application logic here Operaciones.pidon(); } }