Java 如何将csv文件中的多行输入阵列?
我试图创建一个数组,在其中我要将CSV文件中的值存储到该数组中 我的代码:Java 如何将csv文件中的多行输入阵列?,java,arrays,Java,Arrays,我试图创建一个数组,在其中我要将CSV文件中的值存储到该数组中 我的代码: public static Trip[] readExistingFile(File inp) throws FileNotFoundException { Scanner scan = new Scanner(inp); Trip[] trip_array = new Trip[5]; //while loop to input file while
public static Trip[] readExistingFile(File inp) throws FileNotFoundException {
Scanner scan = new Scanner(inp);
Trip[] trip_array = new Trip[5];
//while loop to input file
while (scan.hasNextLine()) {
String line = scan.nextLine();
//separating values from csv
String[] values = line.split(",");
String mode = values[0];
String origin = values[1];
String destination = values[2];
double duration = Double.parseDouble(values[3]);
for (int i = 0; i < trip_array.length; i++) {
if (mode.equals("Flight")) {
boolean meals = Boolean.parseBoolean(values[4]);
trip_array[i] = new Flight(duration, origin, destination, meals);
}
if (mode.equals("Drive")) {
double gog = Double.parseDouble(values[4]);
trip_array[i] = new Drive(duration, origin, destination, gog);
}
if(mode.equals("Train")){
String[] stops = new String[values.length-4];
for (int k = 4; k < values.length; k++) {
for (int j = 0; j < stops.length; j++) {
stops[j] = values[k];
}
}
trip_array[i] = new Train(duration, origin, destination, stops);
}
}
publicstatictrip[]readExistingFile(File inp)抛出FileNotFoundException{
扫描仪扫描=新扫描仪(inp);
Trip[]Trip_数组=新Trip[5];
//同时循环到输入文件
while(scan.hasNextLine()){
String line=scan.nextLine();
//从csv中分离值
字符串[]值=行。拆分(“,”);
字符串模式=值[0];
字符串原点=值[1];
字符串目的地=值[2];
double duration=double.parseDouble(值[3]);
对于(int i=0;i
在运行此代码时,只会多次添加一行。如何添加其他行
提前感谢为什么要将for循环嵌套在while循环中?您可能应该使用其中一个,并在循环中创建新对象。您可以使用现有的CSV库吗?删除for循环,并包括检查通过trip_数组的距离,以便在遇到以下情况时不会出现越界异常:在输入文件中输入超过5行。