Buenas estoy haciendo un programa donde debo (ingresar el nombre y la nota de unos alumnos) hacer 2 arrays uno de tipo String y otro de tipo float .Tengo problema en el main cuando quiero ingresar por consola los datos del alumno . Primero puse el Scanner luego declare dos arrays del tipo String y float , pero me dicen que debo inicializarlo y eclipse me pone que debo ponerles igual a null , pero me sale una advertencia en esta parte :
nombre[i] = teclado.next();
nota [i]= teclado.nextFloat();
que me dice que no les puedo poner null y cuando lo hago e ingreso el primer dato me sale :
Exception in thread "main" java.lang.NullPointerException at arrays_alumnos.PruebaAlumno.main(PruebaAlumno.java:20)
No se si el problema esta cuando le pongo a los arrays teclado.next();/teclado.nextFloat(); o por que no inicialice las variables y al hacerlo les pongo null y esta mal.
public class Alumnos {
private String nombreAlumno[] ;
private float nota[];
public Alumnos() {
this.nombreAlumno = new String [5] ;
this.nota = new float [5];
}
public Alumnos(String nombre[] , float[] nota) {
this.nombreAlumno = nombre ;
this.nota= nota;
}
public String[] getNombre() {
return this.nombreAlumno;
}
public void setNombre(String [] nombreAlumno ) {
this.nombreAlumno = nombreAlumno;
}
public float [] getNota() {
return this.nota;
}
public void setNota(float [] nota) {
this.nota = nota ;
}
public void verificacionDeNota() {
for (int i = 0; i < nombreAlumno.length; i++) {
if(nota[i]>=7.0) {
System.out.println("Alumno : " +nombreAlumno + " Promocionado.");
}
if (nota[i] >=1.0 && nota[i] <=3.0) {
System.out.println("Alumno : " +nombreAlumno +" Reprobado.");
}
if(nota[i]>=4 && nota[i]<=6) {
System.out.println("Alumno : " +nombreAlumno +" Aprobado.");
}
}
}
}
import java.util.Scanner;
public class PruebaAlumno {
public static void main(String[] args) {
Scanner teclado = new Scanner (System.in);
String nombre[] = null ;
float nota[] = null;
for ( int i = 0; i < 5; i++) {
System.out.println((i+1)+".Ingrese nombre : ");
nombre[i] = teclado.next();
System.out.println((i+1)+".Ingrese nota : ");
nota [i]= teclado.nextFloat();
Alumnos curso1 = new Alumnos (nombre , nota);
}
}
}