我想寫包含這樣雙打的列表中的程序,讀取文本文件(罰款與此):二維陣列卡住
1.0, 2.0, 3.0
4.0, 5.0, 6.0
7.0, 8.0, 9.0
_
public static void main(String[] args) {
Scanner inputStream = null;
try {
inputStream = new Scanner(new FileInputStream("tstc.txt"));
}
catch (FileNotFoundException e) {
System.out.println(e.getMessage());
System.out.println("Program aborted.");
System.exit(0);
}
double[][] arrayNums = new double[3][3];
for(int sec = 0; sec < 3; sec++) {
while(inputStream.hasNextLine()) {
String line = inputStream.nextLine();
String[] lineList = line.split(", ");
int pos = 0;
for(int motor = 0; motor < 3; motor++) {
double lineDouble = Double.parseDouble(lineList[pos]);
arrayNums[motor][sec] = lineDouble;
pos+=1;
}
}
}
System.out.println(Arrays.deepToString(arrayNums));
這就是我去爲:
[[1.0, 2.0, 3.0], [4.0, 5.0, 6.0], [7.0, 8.0, 9.0]]
,但是這是我得到:
[[7.0, 0.0, 0.0], [8.0, 0.0, 0.0], [9.0, 0.0, 0.0]]
我已經看到我的問題在於秒變量保持不變,但我不確定如何在不更改整個代碼結構的情況下重新排列代碼。
任何提示將不勝感激。
你不需要秒循環因爲你已經有了InputStream一個 –