- PR -

ArrayListについて

投稿者投稿内容
fukuoka
会議室デビュー日: 2007/07/05
投稿数: 3
投稿日時: 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 ]
三等兵
会議室デビュー日: 2006/11/14
投稿数: 10
投稿日時: 2007-07-05 15:14
で、分からないことはなんでしょうか?
あすか
ぬし
会議室デビュー日: 2006/07/12
投稿数: 309
投稿日時: 2007-07-05 15:18
ArrayListは関係なさそうですが。

ご自分で記述されている通りの手順で
実装していけば
完了しますよ。

DataSheetクラスを作成し、
set(row,col,data) get(row,col)
みたいなアクセサを用意すると管理しやすいかもしれませんね。

mio
ぬし
会議室デビュー日: 2005/08/25
投稿数: 734
お住まい・勤務地: 神奈川県
投稿日時: 2007-07-05 15:30
行数または列数がいくつあるか分からないのなら、ArrayListの出る幕はありますね。

ファイルの読み込みが分からないのか、ループが分からないのか、ファイルの書き込みが分からないのか。
分からない部分について何を調べて、何を試してみたのか。どういうエラーになったのか。
そのあたりをはっきりさせましょう。
fukuoka
会議室デビュー日: 2007/07/05
投稿数: 3
投稿日時: 2007-07-05 16:02
ご返答ありがとうございます。
質問の説明が未熟で大変申し訳ございません。

まず、ArrayListにファイル内のデータを読み込みたいです。
そして、データを二次元配列に格納したいです。
しかし、ArrayListクラスの使い方がよくわかりません。

申し訳ございませんが、どうか、ご教授の程よろしくお願い致します。
nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 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=
nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 2007-07-05 16:47
まずは、ArrayListの使い方を理解するために簡単なサンプルを書いてみましょう。
プログラムなんてのは自分でコードを書いてみないとなかなか理解できないものです。

端的に言えば、ArrayListなんて、add()でデータを格納してget()でデータを取得するだけのものです。
サンプルを書いて動かして見て、それでも分からないことが出てきたら質問すればよいでしょう。
案ずるより生むが易しという奴です。
fukuoka
会議室デビュー日: 2007/07/05
投稿数: 3
投稿日時: 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列の部分も読み込むにはどうすればよろしいのでしょうか?

スキルアップ/キャリアアップ(JOB@IT)