我是StackExchange的新手,所以我会尽力使这个问题尽可能明白。我试图从一个.csv文件创建的字符串数组中获取所有整数。该文件看起来像这样,
依旧......
一切都很完美,直到我尝试将数字添加到数组中。输出返回ArrayIndexOutOfBoundsException。我使这个数组的MAX_SIZE = 100.文本文件中的整数数量不超过8.我不明白为什么会出现问题。我的for循环完全错了还是问题还有更多?
public static void loadNums()
{
String inputFile=("/Users/user1/Desktop/list.csv");
File file = new File(inputFile);
Scanner scanFile = null;
try{
scanFile =new Scanner(file);
}catch(NumberFormatException | FileNotFoundException exception){
System.out.println("Error");
}
if (scanFile != null)
{
String[] numStrs = scanFile.nextLine().split(",");
int[] num = new int[numStrs.length];
for (int i =0; i <numStrs.length; i++)
{
if (i ==0)
{
System.out.println("Numbers");
}
else
{
numStrs = scanFile.nextLine().split("\\d+.,\\d+");
for (int j =0; j <numStrs.length; j++)
{
num[i] = Integer.parseInt(numStrs[i]);
}
System.out.println(num[i]);
}
}
}
答案 0 :(得分:0)
您尝试使用第一个索引i:
解析第二个数组numStrs
num[i] = Integer.parseInt(numStrs[i]);
因此,请使用此更改numStrs[i]
numStrs[j]
:
num[i] = Integer.parseInt(numStrs[j]);
希望这可以帮到你。