2016-10-08 1 views
1

Compiler-Probleme: NullPointerException in der Zeile "Masse [i] .mainN = scan.nextInt();". Meiner Meinung nach habe ich alle Variablen "mainN" und das Array "mass" inizialisiert. Was kann der Grund für die Ausnahme sein?NullPointerException in meinem Array

import java.util.Scanner; 

public class Robotics{ 

public static void main(String[] args) { 

    Scanner scan = new Scanner(System.in); 
    int N = scan.nextInt(); 
    Robo[] mass = new Robo[N]; 
    for(int i = 0; i < mass.length; i++) { 
     mass[i].mainN = scan.nextInt(); 
     mass[i].auxiliary = scan.nextInt(); 
    } 
    scan.close(); 
} 

class Robo{ 
    int mainN; 
    int auxiliary; 
} 
+0

NullPointerException ist kein Laufzeitproblem, kein Kompilierungsproblem :) –

Antwort

0

das Array Initialisierung nicht ausreicht, müssen Sie auch jedes einzelne Element initialisieren:

Robo[] mass = new Robo[N]; 
for(int i = 0; i < mass.length; i++) { 
    mass[i]= new Robo(); // Add this line 
    mass[i].mainN = scan.nextInt(); 
    mass[i].auxiliary = scan.nextInt(); 
} 

Java zugewiesen eine Reihe von null Elemente. Dies ist nicht besonders intuitiv, insbesondere für Programmierer, die bereits C++ kennen gelernt haben.

Verwandte Themen