2D 配列から最初の列を取得するにはどうすればよいですか? このようなメソッドで配列を初期化しています
//Initialise the array with the values from the file
public static float[][] data(float[][] data, Scanner scan){
int count = 0;
for (int i=0;i<data.length;i++){
for (int j=0;j<data[0].length;j++){
count++;
if(count<data.length*data[0].length){
for(int k=0;k<2; k++){
data[i][j] = (float) IOUtil.skipToDouble(scan);
System.out.print(data[i][j] + " ");
}
System.out.println();
}
}
}
return data;
}
これは私のテストファイルの内容です。(ファイルの長さは任意であることに注意してください)
13.97 2.2
12.05 1.9
9.99 1.5
8.0 1.3
6.0 0.9
4.0 0.6
2.0 0.3
0.0 0.0
-2.0 -0.3
-4.0 -0.6
-6.02 -0.9
-8.0 -1.3
-9.99 -1.6
-12.03 -1.9
-13.98 -2.2
端末では問題がありますが、左の列を呼び出そうとすると、右の列が取得されます。これが、右側の値だけが保存されるかどうかに関係なく発生するかどうかはわかりません。
//should print x but actually prints y
public static void printX(float[][] data){
for (int i=0;i<data.length;i++){
for (int j=0;j<data[0].length;j++){
System.out.println(data[i][j]);
}
}
}
出力する
2.2
1.9
1.5
1.3
0.9
0.6
0.3
0.0
-0.3
-0.6
-0.9
-1.3
-1.6
-1.9
-2.2
0.0
2D配列から左側の列のデータを取得する最良の方法を誰かが明確にすることはできますか? または、この種のことを達成するための他の方法がある場合は?