Java 将整数从文件传递到数组

Java 将整数从文件传递到数组,java,arrays,file,integer,Java,Arrays,File,Integer,有人能解释为什么这段代码不起作用吗? 我的数组没有填充任何内容-- Integer[] tab1 = new Integer[401]; int[][] tab2 = new int[20][20]; File fr; int i = 0, c = 0; fr = new File("problem11"); Scanner sc; try { sc = new Scanner(fr); while (sc.

有人能解释为什么这段代码不起作用吗? 我的数组没有填充任何内容--

    Integer[] tab1 = new Integer[401];
    int[][] tab2 = new int[20][20];
    File fr;
    int i = 0, c = 0;
    fr = new File("problem11");
    Scanner sc;
    try {
        sc = new Scanner(fr);
        while (sc.hasNext()) {
            // System.out.printf("%d ", sc.nextInt());
            tab1[i] = sc.nextInt();

            i++;
            System.out.print(tab1[i]);
        }
    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

您正在显示下一个尚未填充的数组元素

i++;
System.out.print(tab1[i]);
应该是

System.out.print(tab1[i++]);

您正在显示下一个尚未填充的数组元素

i++;
System.out.print(tab1[i]);
应该是

System.out.print(tab1[i++]);

您正在显示下一个尚未填充的数组元素

i++;
System.out.print(tab1[i]);
应该是

System.out.print(tab1[i++]);

您正在显示下一个尚未填充的数组元素

i++;
System.out.print(tab1[i]);
应该是

System.out.print(tab1[i++]);

这很可能是因为运行程序的位置的默认目录中不存在
problem11
。。。您的代码是否进入while循环?有stacktrace吗?如果它有整数,那么应该为hasNextInt而不是hasNext获取。你可能会得到输入不匹配异常?你能告诉我们“问题11”是什么样子的吗。我猜该文件缺少回车/换行符,因此sc.hasNext()或sc.nextInt()的计算结果为FALSE。这很可能是因为运行程序的位置的默认目录中不存在
problem11
。可能sc没有下一行,可能在读取时出现问题。。。您的代码是否进入while循环?有stacktrace吗?如果它有整数,那么应该为hasNextInt而不是hasNext获取。你可能会得到输入不匹配异常?你能告诉我们“问题11”是什么样子的吗。我猜该文件缺少回车/换行符,因此sc.hasNext()或sc.nextInt()的计算结果为FALSE。这很可能是因为运行程序的位置的默认目录中不存在
problem11
。可能sc没有下一行,可能在读取时出现问题。。。您的代码是否进入while循环?有stacktrace吗?如果它有整数,那么应该为hasNextInt而不是hasNext获取。你可能会得到输入不匹配异常?你能告诉我们“问题11”是什么样子的吗。我猜该文件缺少回车/换行符,因此sc.hasNext()或sc.nextInt()的计算结果为FALSE。这很可能是因为运行程序的位置的默认目录中不存在
problem11
。可能sc没有下一行,可能在读取时出现问题。。。您的代码是否进入while循环?有stacktrace吗?如果它有整数,那么应该为hasNextInt而不是hasNext获取。你可能会得到输入不匹配异常?你能告诉我们“问题11”是什么样子的吗。我猜该文件缺少回车/换行符,因此sc.hasNext()或sc.nextInt()的计算结果为FALSE。