Java - Me da errores null pero no lo marca

 
Vista:
sin imagen de perfil

Me da errores null pero no lo marca

Publicado por A (2 intervenciones) el 02/04/2017 12:31:02
Estoy estudiando programación y es la primera vez que me sale este error y no encuentro como solucionarlo
me podrían ayudar a quitarlo?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import java.util.*;
public class miPractica {
 
	static Scanner in = new Scanner(System.in);
 
	public class nodo{
		public String nombre;
		public String materia[];
		public int calific[];
	}
 
		public static void main(String[] args) {
		nodo alumno[]= new nodo[10];
		System.out.println("Programa para calificaciones de 10 alumnos\n");
		for (int i = 0; i < 10; i++){
			System.out.println("Nombre del alumno " + (i+1) + ": ");
			alumno[i].nombre=in.nextLine();
			for (int j = 0; j < 5; j++){
				System.out.println("Ingresar materia " + (j+1) + ": ");
				alumno[i].materia[j]=in.nextLine();
				System.out.println("Ingresar calificación de " + alumno[i].materia[j] + ": ");
				alumno[i].calific[j]=in.nextInt();
			}
		}
	}
 
}
Sin-titulo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 214
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Me da errores null pero no lo marca

Publicado por juanki (131 intervenciones) el 02/04/2017 13:38:00
Hola

Como que no te lo marca, te está diciendo que el error está en la línea 19.

Supongo que es por que dentro de la clase nodo tienes dos arrais que no has inicializado. Usa el constructor para inicialos.

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Me da errores null pero no lo marca

Publicado por A (2 intervenciones) el 03/04/2017 04:34:35
Hola, me puedes ayudar? Ya los inicialicé y todavía marca el mismo error =(

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import java.util.*;
public class miPractica {
 
	static Scanner in = new Scanner(System.in);
 
	public class alumnos{
		public String nombre = new String();
		public String materia[] = new String[5];
		public int calific[] = new int[5];
	}
 
		public static void main(String[] args) {
		alumnos lista[] = new alumnos[10];
		System.out.println("Programa para calificaciones de 10 alumnos\n");
		for (int i = 0; i < 10; i++){
			System.out.println("Nombre del alumno " + (i+1) + ": ");
			lista[i].nombre=in.nextLine(); //Dice que aquí está el error después de ingresar el nombre
			for (int j = 0; j < 5; j++){
				System.out.println("Ingresar materia " + (j+1) + ": ");
				lista[i].materia[j]=in.nextLine();
				System.out.println("Ingresar calificación de " + lista[i].materia[j] + ": ");
				lista[i].calific[j]=in.nextInt();
			}
		}
	}
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Me da errores null pero no lo marca

Publicado por Renzo (232 intervenciones) el 03/04/2017 23:33:50
Hola
creo que debería separar tus archivos en dos:

Espero te sirva.
Pruebalo y me comentas

///////////////////alumnos.java/////////////////////

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class alumnos{
	public String getNombre() {
		return nombre;
	}
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}
	public String[] getMateria() {
		return materia;
	}
	public void setMateria(String[] materia) {
		this.materia = materia;
	}
	public int[] getCalific() {
		return calific;
	}
	public void setCalific(int[] calific) {
		this.calific = calific;
	}
	public String nombre = new String();
	public String materia[] = new String[5];
	public int calific[] = new int[5];
}




//////////////////////miPractica.java/////////////////////////

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import java.util.*;
public class miPractica {
 
	static Scanner in = new Scanner(System.in);
 
	public static void main(String[] args) {
		alumnos lista[] = new alumnos[10];
		System.out.println("Programa para calificaciones de 10 alumnos\n");
		for (int i = 0; i < 10; i++){
			System.out.println("Nombre del alumno " + (i+1) + ": ");
			lista[i] = new alumnos();
 
			lista[i].nombre=in.nextLine(); //Dice que aquí está el error después de ingresar el nombre
			for (int j = 0; j < 5; j++){
				System.out.println("Ingresar materia " + (j+1) + ": ");
				lista[i].materia[j]=in.nextLine();
				System.out.println("Ingresar calificación de " + lista[i].materia[j] + ": ");
				lista[i].calific[j]=Integer.parseInt(in.nextLine());
			}
		}
	}
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar