2013-03-21 101 views
-2

我正在写一些代码和我不断收到这个错误,它与在那里我打电话network.addstation显示java.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

你自己初始化网络为null,在你的代码的第二行,那么它显然会抛出NullPointerException

1

注意你也可以立刻在运行C++代码得到这个错误,用默认的NetBeans安装,如果你的项目的属性 - >运行 - >控制台类型被设置为内部终端而不是外部终端;至少在Ubuntu上使用FLTK图形时。在这种情况下,这是一个NetBeans内部握手问题,而不是源代码问题。

0

正如DragonLord所说,这不是一个源代码问题。你将能够知道,因为每当你运行任何C++代码时都会发生这种情况。我有同样的问题。不过,我做了一些与DragonLord稍有不同的事情。我将程序的输出设置为Project Properties> Run> Console Type并将其设置为Standard Output。

相关问题