- - PR -
ArrayListについて
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-07-05 14:53
はじめまして。
初投稿なので説明が分かりづらいと思いますが、 よろしくお願い致します。 ArrayListの使い方について質問させていただきます。 下記のようにデータが記述されているtxtファイルがあります。 行番号 1 11 21 31 41 51 2 12 22 32-100 52 3 13-100 33 43 53 ← → 10の空白 上記のデータが記述されている.txtのファイルを読み込み、 Arraylistを使用し、下記の様な、3行5列の二次元配列にデータを格納したい。 data[0][0]=11 data[0][1]=21 data[0][2]=31 data[0][3]=41 data[0][4]=51 data[1][0]=12 data[1][1]=22 data[1][2]=32 data[1][3]=-100 data[1][4]=52 data[2][0]=13 data[2][1]=-100 data[2][2]=33 data[2][3]=43 data[2][4]=53 その後、配列に格納されているデータを呼び出し、int型で出力し、 下記の、このような形でファイルに書き込みたい。 11 ← 1行目の1列目 21 ← 1行目の2列目 22 ← 2行目の2列目 12 ← 2行目の1列目 12 ← 2行目の1列目 22 ← 2行目の2列目 -100 ← 3行目の2列目 13 ← 3行目の1列目 21 ← 1行目の2列目 31 ← 1行目の3列目 32 ← 2行目の3列目 22 ← 2行目の2列目 申し訳ございませんが、どうか、ご教授の程よろしくお願い致します。 [ メッセージ編集済み 編集者: fukuoka 編集日時 2007-07-05 15:02 ] [ メッセージ編集済み 編集者: fukuoka 編集日時 2007-07-05 15:04 ] [ メッセージ編集済み 編集者: fukuoka 編集日時 2007-07-05 15:06 ] |
|
投稿日時: 2007-07-05 15:14
で、分からないことはなんでしょうか?
|
|
投稿日時: 2007-07-05 15:18
ArrayListは関係なさそうですが。
ご自分で記述されている通りの手順で 実装していけば 完了しますよ。 DataSheetクラスを作成し、 set(row,col,data) get(row,col) みたいなアクセサを用意すると管理しやすいかもしれませんね。 |
|
投稿日時: 2007-07-05 15:30
行数または列数がいくつあるか分からないのなら、ArrayListの出る幕はありますね。
ファイルの読み込みが分からないのか、ループが分からないのか、ファイルの書き込みが分からないのか。 分からない部分について何を調べて、何を試してみたのか。どういうエラーになったのか。 そのあたりをはっきりさせましょう。 |
|
投稿日時: 2007-07-05 16:02
ご返答ありがとうございます。
質問の説明が未熟で大変申し訳ございません。 まず、ArrayListにファイル内のデータを読み込みたいです。 そして、データを二次元配列に格納したいです。 しかし、ArrayListクラスの使い方がよくわかりません。 申し訳ございませんが、どうか、ご教授の程よろしくお願い致します。 |
|
投稿日時: 2007-07-05 16:42
ArrayListのjavadoc
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/util/ArrayList.html ArrayListの使い方 http://www.google.co.jp/search?hl=ja&q=ArrayList+%E4%BD%BF%E3%81%84%E6%96%B9&lr= |
|
投稿日時: 2007-07-05 16:47
まずは、ArrayListの使い方を理解するために簡単なサンプルを書いてみましょう。
プログラムなんてのは自分でコードを書いてみないとなかなか理解できないものです。 端的に言えば、ArrayListなんて、add()でデータを格納してget()でデータを取得するだけのものです。 サンプルを書いて動かして見て、それでも分からないことが出てきたら質問すればよいでしょう。 案ずるより生むが易しという奴です。 |
|
投稿日時: 2007-07-09 16:08
ArrayListの使い方の助言ありがとうございます。
下記のプログラムを作成し実行してみました。 import java.io.*; // 入出力 import java.util.*; class data_array { private static ArrayList data; // データを格納するArrayList public static void main (String[] args){ data = new ArrayList(); // ArrayListオブジェクトの生成 readN("filedata.txt"); System.out.println(); } // データをファイルから読み込んでArrayListに格納 private static void readN(String filename) { try { FileReader aFileReader = new FileReader(filename); BufferedReader aInputFile = new BufferedReader(aFileReader); // ファイルの終わりに到達するまでデータを読み込む String aLine; while ((aLine = aInputFile.readLine()) != null) { data.add(aLine); System.out.println(aLine); // データが追加されていることを確認するための出力 } System.out.println("データが追加されている数 "); System.out.println(data.size());// データが追加されている数を確認 aInputFile.close(); } catch (FileNotFoundException e) { } catch (IOException e) { } }} 実行結果 1 11 21 31 41 51 2 12 22 32-100 52 3 13-100 33 43 53 データが追加されている数 3 ファイルデータを読み込んでみましたが行の部分しか読み込まれていないようです。 行の行番号を除いた5列の部分も読み込むにはどうすればよろしいのでしょうか? |