8.00 28.00
18.00 28.00
8.00 23.00
12.00 20.00
15.00 30.00
12.00 32.00
12.00 20.00
18.00 31.00
29.00 25.00
6.00 28.00
7.00 28.00
6.00 24.00
14.00 30.00
11.00 23.00
12.00 20.00
31.00 24.00
11.00 20.00
17.00 23.00
14.00 32.00
15.00 23.00
8.00 20.00
17.00 31.00
7.00 20.00
12.00 23.00
15.00 20.00
12.00 20.00
21.00 20.00
27.00 27.00
18.00 20.00
25.00 27.00
46.00 13.00
26.00 10.00
47.00 22.00
44.00 14.00
34.00 4.00
34.00 4.00
44.00 7.00
39.00 5.00
20.00 0.00
43.00 11.00
43.00 25.00
34.00 2.00
25.00 10.00
50.00 9.00
25.00 9.00
39.00 2.00
34.00 7.00
44.00 15.00
36.00 3.00
40.00 5.00
49.00 21.00
42.00 7.00
35.00 1.00
30.00 2.00
31.00 13.00
53.00 12.00
40.00 4.00
26.00 4.00
50.00 55.00
57.00 51.00
62.00 52.00
56.00 52.00
59.00 40.00
61.00 68.00
66.00 49.00
57.00 49.00
62.00 58.00
47.00 58.00
53.00 40.00
60.00 54.00
55.00 48.00
56.00 65.00
67.00 56.00
55.00 43.00
52.00 49.00
67.00 62.00
68.00 61.00
65.00 58.00
46.00 53.00
46.00 49.00
47.00 40.00
64.00 22.00
64.00 54.00
63.00 64.00
63.00 56.00
64.00 44.00
63.00 40.00
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.StringTokenizer;
public class csvimport5 {
public static void main(String[] args) throws IOException {
double [][] data = new double [87][2];
File file = new File("buydata.txt");
int row = 87;
int col = 2;
BufferedReader bufRdr = new BufferedReader(new FileReader(file));
String line ;
//read each line of text file
while((line = bufRdr.readLine()) != null && row < data.length)
{
StringTokenizer st = new StringTokenizer(line," ");
while (st.hasMoreTokens())
{
//get next token and store it in the array
data[col][row] = Double.parseDouble(st.nextToken());
col++;
}
col=0;
}
row++;
for( row = 0; row<data.length; row++){
for( col = 0; col<data.length; col++){
System.out.print(" "+data[86][1]);
}
System.out.println();
}
}
}
它给出的输出类似于0.0 0.0 0.0 0.0 请帮我打印数组格式的文件
答案 0 :(得分:2)
您始终打印System.out.print(" "+data[86][1]);
并在阅读之前将行初始化为87.
您也可以double [][] data = new double [87][2];
执行[row] [col],但随后使用[col] [row]设置值。请确保订单一致。你不能在那条线上得到ArrayIndexOutOfBoundsException
:
data[col][row] = Double.parseDouble(st.nextToken());
? (编辑:我刚看到你的另一个问题,所以你确实得到了AIOOBE;))
此while循环永远不会运行:while((line = bufRdr.readLine()) != null && row < data.length)
。您将行初始化为87,它等于data.length,因此语句row < data.length
始终为false。
答案 1 :(得分:0)
您应该学习如何使用调试器! Here是一个好的开始!