怎样将一个文件中的数据分别赋给两个不同的数组??

自言自语 2004-05-04 01:25:47
我有一个文本文件:

60 60 40 80
50 50 30 90
40 40 80 60
8 13 15 18
8 14 16 20
8 12 15 22

我想把前三排赋给一个数组myv,把后三排赋给另一个数组myb,请问怎样实现??

注意数据大小是可变的,比如我改成:

60 60 40 80
50 50 30 90
40 40 80 60
50 40 30 70
8 13 15 18
8 14 16 20
8 12 15 22
8 13 14 19

那么他能够自动将前四排赋给一个数组myv,把后四排赋给另一个数组myb。
...全文
17 3 点赞 打赏 收藏 举报
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
tomcatjava 2004-05-04
可以先把每行数据都读出来,放到ArrayList中保存(用StringTokenizer分开每个数据),同时统计行数!
如果行数为N,则0-(N/2-1)是前面的一半,对应于ArrayList中的前4×(N/2)。
当然列数也可以在用StringTokenizer分开每个数据时保存,只要每行的列数不变!!
  • 打赏
  • 举报
回复
dogcai 2004-05-04
这个只需要老老实实的读出来。假如你原来的文本格式使用字符保存的,读出来就要变码,组合成一个新的数值。。
  • 打赏
  • 举报
回复
自言自语 2004-05-04
行数怎么统计阿?

我这样写行吗:用连续两个循环直接读取。第一个循环将前面一半赋值给第一个数组,然后再来一个循环把后面的赋值给第二个数组。

int taille = rechercherDimension ( nomFicv );
FileInputStream is;
String stemp ;
String s ;
try {
is = new FileInputStream ( nomFicv) ;
BufferedReader f = new BufferedReader (new InputStreamReader ( is ) ) ;
int i=0;

while ( ( stemp = f.readLine () ) != null ) {
for (int k=0;k<n;k++){
StringTokenizer st = new StringTokenizer ( stemp , " " ) ;
int nb = st.countTokens() ;
for (int j= 0; j<nb ; j++){
s = st.nextToken ();
int vi = Integer . parseInt ( s );
myv [i+1][j] = vi;
System.out.println(myv [i+1][j]);
}
i++;
}
StringTokenizer st = new StringTokenizer ( stemp , " " ) ;
int nb = st.countTokens() ;
for (int j= 0; j<nb ; j++){
s = st.nextToken ();
int vi = Integer . parseInt ( s );
int l=0;
myb [l+1][j] = vi;
System.out.println(myb [l+1][j]);
}
i++;
}
}catch ( IOException e ) { System.err.println (" Erreur" + e. getMessage () );}
  • 打赏
  • 举报
回复
相关推荐
发帖
Java SE
加入

6.2w+

社区成员

Java 2 Standard Edition
申请成为版主
帖子事件
创建了帖子
2004-05-04 01:25
社区公告
暂无公告