0

これは私のコードです

    public static void main(String[] args) {

    File source = //


    Scanner s = null;       
    int lineNumber =0;
        ArrayList<ArrayList<Integer>> tagsArray = new ArrayList<>();
    try {

        s= new Scanner(source);
    while (s.hasNext()) {

            String[] cols = s.nextLine().split("    ");

            for (int i = 0; i < cols.length; i++) {
                if (cols[i].equals("1"))
                    tagsArray.get(i).add(lineNumber);
                }
            lineNumber++;

        }   
    } catch (Exception e) {
        // TODO: handle exception
    }
}

forステートメントを削除すると、テキストファイル全体が読み取られますが、使用すると最初の行のみが読み取られるのはなぜですか?

4

1 に答える 1

3

を取得すると思いますが、Exception処理するのではなく、キャッチして非表示にします。これは非常に悪いです!少なくとも、例外のスタック トレースを出力する必要があります。

アクセスしようとしています:

tagsArray.get(i).add(lineNumber);

tagsArrayが空であるとき。アクセスする前に、それぞれArrayList<Integer>の内部をインスタンス化する必要があります。tagsArray

于 2013-04-23T10:29:51.117 に答える