0

Processingのインターフェースを使用してCSVを解析してTableいますが、一部の行に一部のデータがありません。利用可能なすべてのデータをテーブルにプルしたいのですが、不足しているデータを処理する方法がわかりません。不足している値NullPointerExceptionを使用してテーブルをループすると、取得し続けdataTable.getIntます。

私は静的に型付けされた言語のバックグラウンドを持っていないので、各割り当ての周りに個別のtry/を配置する以外に、このデータを条件付きで割り当てる方法がわかりません。catch確かにもっと良い方法がありますか?

4

3 に答える 3

0

dataTable.getIntメソッドを呼び出す前に、dataTableがnullでないかどうかを確認してください。

if(dataTable != null) {
    int my_nt = dataTable.getInt

}
//else skip since it is empty
于 2013-03-02T23:23:35.733 に答える
0

getIntを使用しているため、を実行する必要がありregex search/replace ,<not numeric>, with ,<some int>,ます。あなたの場合、それは、、を、0に置き換えるのと同じくらい簡単かもしれません。

また、Hassanが示唆しているように、dataTableがnullでないことを再確認してください。

于 2013-03-02T23:25:35.153 に答える
0

さて、私はこれを行う方法を考え出しました:

まず、を呼び出しますdataTable.makeNullEmpty()。これにより、すべてのnull値が空の文字列に変換されます。

次に、次のようなパターンを使用できます。

String total_value = dataTable.getString(i, 4);
if(total_value.length() > 0) s.total_value = parseInt(total_value);

そして、intが解析される場合にのみ割り当てを取得します。

于 2013-03-02T23:32:38.460 に答える