1

一部のデータを解析および解釈するプログラムに取り組んでいますが、問題が発生しています。どんなに一生懸命頑張っても、このバグを踏みにじることはできないようです。

コードスニペット: http: //pastebin.com/0BLakSpe
VetoSet.java:http://pastebin.com/8RdGKGQw 結果:http : //pastebin.com/8GfxndGw

私はコードを変更して、関係のない多くのメソッドを探す必要がないようにしました。また、投稿したコードのコンテキストで意味をなすようにエラーメッセージを変更しました。

読みたい人のための完全なコードは次のとおりです。Main.java:http:
//pastebin.com/FenKU6Ze VetoSet.java:http://pastebin.com/8RdGKGQw
VetoParser.java *
: http: //pastebin.com / 1vTF3aXP
ReadFile.java:http://pastebin.com/beV0bqPa Interpolate.java:http://pastebin.com/3CsaJdXm Utility.java:http://pastebin.com/4G8ZmYxp _ _

コンパイル可能なコードのtarballは次のとおりです。http ://www.qfpost.com/file/d?g = KFaF7M6dk

誰かがこの問題で私を助けることができれば、それは大いにありがたいです

ありがとう、タクトア

*rotatePairArrays関数にはいくつかのデバッグコードが追加されています

4

2 に答える 2

1

あなたの問題はVetoStuff.vetoSetToPairArray()

    Pair[][] pairArray = new Pair[input[0].getVetoPairs().length][input.length];
    for(int i = 0; i < input.length; i++)
            pairArray[i] = input[i].getVetoPairs();

2D配列の2つの次元を切り替えました。input[0].getVetoPairs().length > input.lengthあなたのpairArrayは最後にいくつかのnullで終わるので。

次のように変更します。

new Pair[input.length][];

(2行後に内部配列を割り当てると、とにかく内部配列を上書きします)。

于 2012-08-19T17:02:30.910 に答える
0

あなたはまだ私たちを十分に見せていません。nがnullであるため、エラーが発生しますdoStuff。問題を引き起こしているコードは、setVetoPairsgetVetoPairsが返すものを確立するために呼び出しているものでなければなりませんが、「set」呼び出しはパーサー内にある必要があります。値の1つをnullのままにします。

これは、デバッガーでトレースすることで非常に簡単に見つけることができます。Netbeansは、この種のことに対して優れています。

過去に、私は空白行を正しく処理しないことに気づきました。それはそのような単純なものかもしれません。デバッガーはおそらくそれを明らかにするでしょう。

于 2012-08-19T17:11:55.960 に答える