我正在处理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