我正在處理TSP問題,我要讀取我的國家城市的xy座標,但是當我嘗試這樣做時,我遇到了一個數組越界異常,我想要將x座標轉換爲數組和y座標轉換爲其他任何想法,謝謝。 包tsp;讀取一個csv文件到陣列
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class tsp {
public static void main(String[] args) {
// TODO Auto-generated method stub
String [] arr = new String[4000000];
String fileName = "EG - Copy1.csv";
File file = new File(fileName);
try {
@SuppressWarnings("resource")
Scanner inputStream = new Scanner(file);
while(true){
String xcoord = inputStream.next();
arr = xcoord.split(",");
double op = Double.parseDouble(arr[0]);
double opy = Double.parseDouble(arr[1]);
System.out.println(op+"****"+opy);
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
*好奇:*新字符串[4000000]是什麼意思? – Andreas
您沒有顯示文件內容,但代碼會指示它只包含座標。你確定文件**中沒有**城市名稱嗎?你知道,有空格和無逗號的名字會完全破壞你的閱讀邏輯,因爲'紐約'是'xcoord'的兩個值,'New'和'York'的值的'split(',')'會失敗當你做'arr [1]'時。 – Andreas
避免文件名中有空格。 – Chip