Java扫描文件,结束方法?

时间:2014-01-17 20:25:12

标签: java methods

当程序到达list[counter] = fi.nextInt();为什么时,程序会跳出该方法?

Scores.txt目前包含“0 0 0 0 0 0 0 0 0 0”,由于某种原因,每次程序运行时都会将其擦除。控制台中没有例外,我正在使用eclipse。

代码:

int[] getValues() throws Exception{
    Scanner fi = new Scanner(new File("./src/oppgave_2_v2/Scores.txt"));
    int[] list = new int[10];

    for(int counter = 0; counter < list.length; counter++){
        list[counter] = fi.nextInt();

    }

    fi.close();
    return list;
}

3 个答案:

答案 0 :(得分:0)

您可能没有从int方法获得nextInt(),因此它会抛出异常。打印堆栈跟踪以查看发生的情况。如果Scanner正在从文件中看到String标记,则只需转换为Integer.valueOf(fi.next());的int。实际上,您应该在实际执行int之前检查hasNextInt()是否有nextInt()

答案 1 :(得分:0)

类型nextXXX()的方法假设字符串中的下一个字符是XXX类型。如果您尝试nextInt()并且第一个字符是字母p -_-

,它不会给您任何异常但只有异常

答案 2 :(得分:0)

我发现了问题,如果有人有兴趣,我可以发布解决方案。