Possible Duplicate:
How to print 2D Array from .txt file in Java
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开发者_如何学Python.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.00import 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();
}
}
}
It gives output like 0.0 0.0 0.0 0.0 please help me to print that file in array form
You always print System.out.print(" "+data[86][1]);
and you initialize row to 87 before reading.
You also do double [][] data = new double [87][2];
which seems to be [row][col] but then you set values using [col][row]. Fix the order to be consistent please. Don't you get ArrayIndexOutOfBoundsException
s on that line:
data[col][row] = Double.parseDouble(st.nextToken());
? (Edit: I just saw your other question, so you indeed get the AIOOBE ;) )
This while loop will never run: while((line = bufRdr.readLine()) != null && row < data.length)
. You initialize row to 87 which is equal to data.length and thus the statement row < data.length
is always false.
Edit: I'm stopping here now. I'd suggest you throw your program at a debugger and see what your code really does.
You should learn how to use a debugger! Here is a good start!
精彩评论