Hola a todos, estoy estudiando un grado superior y tengo un problema y es que me sale por pantalla un error java.lang.NullPointerException y no entiendo porque sale ni como solucionarlo.
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:
/*
* 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
Main
Código:
package pidonDela;
public class Main {
public static void main(String[] args) {
// TODO code application logic here
Operaciones.pidon();
}
}