-2

私は少しのコードを書いていますが、このエラーが発生し続けています。これは、network.addstation を呼び出す場所に関係しています。

これがコードです。ネットワークメソッドには他のメソッドがありますが、1つだけ表示すると思っていましたが、メソッドを呼び出すと表示されます。どんな助けでも大歓迎です。ありがとう。

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);
    }
}
4

4 に答える 4

1

MyNetwork インスタンスをどこかに構築していますか?

欲しいらしい

 Network network = null;

することが

MyNetwork network = new MyNetwork();

開始されていないオブジェクトでメソッドを呼び出そうとしているためです。ただし、 MyNetwork クラスにはコンストラクターが必要です。

于 2013-03-21T17:15:24.600 に答える
1

プロジェクトの [プロパティ] -> [実行] -> [コンソールの種類] が [外部ターミナル] ではなく [内部ターミナル] に設定されている場合、デフォルトの NetBeans 設定で C++ コードを実行するとすぐにこのエラーが発生する可能性があることに注意してください。少なくとも Ubuntu で FLTK グラフィックスを使用している場合。この場合、これは NetBeans の内部ハンドシェークの問題であり、ソース コードの問題ではありません。

于 2017-03-20T21:20:41.413 に答える
0

コードの 2 行目でネットワークを null に初期化している場合、明らかに NullPointerException がスローされます。

于 2013-03-21T17:15:52.683 に答える