java - 异常ArrayIndexOutOfBoundsException错误

标签 java arraylist error-handling indexoutofboundsexception

每次运行以下方法时,都会不断出现错误。即使列表不是空的,错误仍然存​​在。

public Position getBestMove() {
    int max = -10000;
    int best = -1;
    System.out.println("CALLED");
    System.out.println(successorEvaluations.size());
    // iterate over successors and return the one with the highest eval result
    for (int i = 0; i < successorEvaluations.size(); i++) { 
        if (max < successorEvaluations.get(i).score) {
            max = successorEvaluations.get(i).score;
            best = i;
        }
    }
    return successorEvaluations.get(best).pos;
}

错误输出:
java.lang.ArrayIndexOutOfBoundsException: -1
    at java.util.ArrayList.elementData(Unknown Source)
    at java.util.ArrayList.get(Unknown Source)
    at Board.getBestMove(Board.java:151)

最佳答案

best为-1,这是非法的数组索引。 if条件不满足。

关于java - 异常ArrayIndexOutOfBoundsException错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40963316/

相关文章:

Java 运行时 exec() 不工作

java - java中的独立 channel

java - ArrayList 的乘法表

arraylist - 在JasperSoft Studio报告中显示特定格式的ArrayList参数

java - List 中基于另一个元素的最大值

java - 在 Selenium 中,无法单击错误消息 'OK' 按钮

ruby-on-rails - Rails抢救标准错误未发送

java - 如何调整多边形的大小?

java - 用于检测类和方法签名级别上损坏的 JAR 依赖关系的工具

r - 计算投资组合(ETF)的对数返回率时出现R错误