Java 为什么我要用这个获得ArrayIndexOutOfBoundsException?
嘿,Java很新,我有一个CSV文件,我正在逐行扫描(我假设)并打印出格式化的细节。我不断得到java.lang.ArrayIndexOutOfBoundsException:1我可能做错了什么? 以下是CSV文件的内容Java 为什么我要用这个获得ArrayIndexOutOfBoundsException?,java,arrays,Java,Arrays,嘿,Java很新,我有一个CSV文件,我正在逐行扫描(我假设)并打印出格式化的细节。我不断得到java.lang.ArrayIndexOutOfBoundsException:1我可能做错了什么? 以下是CSV文件的内容 1,Mazda CX-9,7,Automatic,Premium,150 2,VW Golf,5,Automatic,Standard,59 3,Toyota Corolla,5,Automatic,Premium,55 4,VW Tiguan,7,Automatic,P
1,Mazda CX-9,7,Automatic,Premium,150
2,VW Golf,5,Automatic,Standard,59
3,Toyota Corolla,5,Automatic,Premium,55
4,VW Tiguan,7,Automatic,Premium,110
5,Ford Falcon,5,Manual,Standard,60
解决了这个问题哈哈,我的CSV文件在我的最后一个条目下面有空行。为大家干杯。第一行/最后一行是空的吗?使用调试器我强烈建议使用调试器,它会让一切变得更加清晰。作为一种风格,我还建议使用
String[]字段
而不是String字段[]
——后者实际上只在Java中有效,以便与旧语言兼容,通常不鼓励使用。(我个人认为允许它是一个错误,但是…@Ron Quick question,您最初是否使用Javascript标记此内容,然后在发布后立即将其编辑掉?我很好奇是否存在堆栈交换错误或其他问题,请参阅:@CertainPerformance No我相信我标记了Java和数组
String fileName = "CarList.CSV";
File file = new File(fileName);
Scanner input = new Scanner(file);
while (input.hasNextLine())
{
carsAvailableCount++;
String line = input.nextLine();
int lenght = line.length();
String fields[] = line.split(",");
String carNo = fields[0];
String carName = fields[1];
String seats = fields[2];
String transmission = fields[3];
String carType = fields[4];
String rate = fields[5];
System.out.format("%-9s%-9s%-9s%-9s%-9s%-9s\n", carNo, carName, seats, transmission, carType, rate);
}