Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从文件输入数据时出现问题_Java_Sorting_File Io - Fatal编程技术网

Java 从文件输入数据时出现问题

Java 从文件输入数据时出现问题,java,sorting,file-io,Java,Sorting,File Io,我试图从一个文件中输入数据,该文件的格式为 1000 16 11 221 25 234 112 348 102 451 456 183 218 78 338 365 29 114 393 441 369 531 460 ... 我遇到了麻烦,因为我不断得到IndexOutOfBounds异常或NoTouchElement异常。如何将数据放入数组中,以便以后可以轻松地对其进行排序 公共类短路由 { 公共静态无效printGridint[]adj

我试图从一个文件中输入数据,该文件的格式为

1000
16   11
221   25
234   112
348   102
451   456
183   218
78   338
365   29
114   393
441   369
531   460
...
我遇到了麻烦,因为我不断得到IndexOutOfBounds异常或NoTouchElement异常。如何将数据放入数组中,以便以后可以轻松地对其进行排序

公共类短路由 { 公共静态无效printGridint[]adjMat { 福林系数i=0;i<1000;i++ { forint j=0;j<2;j++ { 系统输出打印F%5d,adjMat[i][j]; } System.out.println; } } 公共静态无效主字符串[]args引发IOException { File File=new Filertest1-2.dat; 扫描仪=新的扫描仪文件; scanner.useDelimiter\\s+; int N=scanner.nextInt; int[][]adjMat=新int[N][2]; forint i=0;i} 你的迭代次数太多了。有1000行包含2个整数,但迭代的是1000x1000个整数。 只需将内部for循环切换到最大值2:

for(int i=0; i < N; i++){
  for (int j=0; j < 2; j++) {
    adjMat[i][j] = scanner.nextInt();
  }
}
这将使N增加到1000。 但在给出的示例中,只有22个整数,而nosucheelement错误正好位于第22个元素之后


如果您提供了足够的输入,则可以消除此错误。干杯

那么你得到的是哪一个——IndexOutOfBoundsException还是NoTouchElementException?附加问题:你从哪里得到它们?通过上面的代码,我得到了一个IndexOutOfBoundsException。由于某些原因,它没有正确输入数组。在遇到异常之前,它只输入了大约40个数据点。代码片段是针对JS的,而不是Java的。停止添加它们。单击运行代码片段,亲自查看它是否不起作用。
int[][] adjMat = new int[N][2];
 int N = scanner.nextInt();