2013-03-21 2 views
-2

я пишу немного кода, и я получаю эту ошибку, это с тем, где я называю network.addstationjava.lang.NullPointerException в NetBeans

вот код, есть и другие методы в сети но я думал, что просто покажу один, но он появляется, когда вы вызываете какой-либо метод. любая помощь будет намного более восприимчивой. Благодарю.

public class MyNetworkReader implements NetworkReader { 

    Network network = null; 

    @Override 
    public Network read(InputStream stream) { 
     Scanner scan = null; 
     scan = new Scanner(stream); 
     while (scan.hasNext()) { 
      String fromStation = scan.next(); 
      if (!fromStation.equalsIgnoreCase("connection:")) ; 
      network.addStation(fromStation) 
      System.out.println(fromStation); 
     } 
    } 

    return network; 
} 

import java.util.ArrayList; 
import java.util.HashMap; 
import java.util.HashSet; 

public class MyNetwork implements Network { 


    HashMap<String, ArrayList> stations = new HashMap<String, ArrayList>(); 


    public void addStation(String station) { 
     stations.put(station, null); 
    } 
} 

ответ

1

Вы строите экземпляр MyNetwork в любом месте?

Похоже, вы хотите

Network network = null; 

Чтобы быть

MyNetwork network = new MyNetwork(); 

Потому что вы пытаетесь вызвать метод непосвященного объекта. Но вашему классу MyNetwork нужен конструктор.

0

Вы сами инициализации сети до нуля, во второй строке кода, то это будет, очевидно, бросить NullPointerException

1

Примечание Вы также можете получить эту ошибку сразу после запуска C++ кода, с установкой в ​​NetBeans по умолчанию, если свойства вашего проекта -> Run -> Тип консоли - Внутренний терминал, а не внешний терминал; по крайней мере, при использовании графики FLTK на Ubuntu. В этом случае это внутренняя проблема установления связи NetBeans, а не проблема с исходным кодом.

0

Как сказал DragonLord, это не проблема с исходным кодом. Вы сможете сказать, потому что это должно происходить всякий раз, когда вы запускаете любой код на C++. У меня такая же проблема. Тем не менее, я сделал что-то немного отличное от DragonLord. Я установил вывод программы в «Свойства проекта»> «Выполнить»> «Тип консоли» и установил ее на «Стандартный вывод».

Смежные вопросы