私は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
ファイルの内容は表示されませんでしたが、コードには座標だけが含まれていることが示されます。ファイル**に**都市名もないのは確かですか? 「New York」は2つの「xcoord」値であり、「New」と「York」の値にはsplit( "split"、 ")が失敗するため、読み書きロジックを完全に破棄するスペースとカンマなしの名前あなたが 'arr [1]'をしたとき。 – Andreas
ファイル名にスペースは入れないでください。 – Chip