Java 作业中的索引越界异常

Java 作业中的索引越界异常,java,exception,indexoutofboundsexception,Java,Exception,Indexoutofboundsexception,我正在做家庭作业。我必须使用动态规划来显示下一个要移动的人是否处于赢/输状态。我不需要帮助解决实际问题,我需要帮助解决我遇到的索引越界异常,这让我感到困惑。我只想在这里粘贴部分代码,因为我只需要查看for循环。我也不希望班上的任何人看到我所有的代码并复制它。如果你需要更多的数据,请告诉我。下面是代码: if(primeArray[x] == true){ for(int i = 1; i <= x; i++){ if(primeArray[i]== true){

我正在做家庭作业。我必须使用动态规划来显示下一个要移动的人是否处于赢/输状态。我不需要帮助解决实际问题,我需要帮助解决我遇到的索引越界异常,这让我感到困惑。我只想在这里粘贴部分代码,因为我只需要查看for循环。我也不希望班上的任何人看到我所有的代码并复制它。如果你需要更多的数据,请告诉我。下面是代码:

if(primeArray[x] == true){
    for(int i = 1; i <= x; i++){
        if(primeArray[i]== true){
            newRowNumber = x - i;
        }
        if(dynaProgram[newRowNumber][columnNumber] < minimum){
            minimum = dynaProgram[newRowNumber][columnNumber];
        }
    }
}
//COMPOSITE CASE FOR X!
else{
    for(int k = 1; k <= x; k++){
        if((primeArray[k] == false)){
            newRowNumber = x - k;
        }
        if(dynaProgram[newRowNumber][columnNumber] < minimum){
            minimum = dynaProgram[newRowNumber][columnNumber];
        }
    }
if(primeArray[x]==true){

例如,当访问长度为5的数组时(int i=1;i)

第一个元素是
fred[0]
,最后一个元素是
fred[4]

因此,在做类似以下事情时:

    if(primeArray[i]== true){

<>代码> <代码> i <代码>小于数组长度。使用一个值<代码> i <代码>等于数组长度将引发异常。

建议您调试代码并捕获异常是,尝试在Eclipse.my下使用调试器运行代码。首先,未示出的外循环循环x从1到席计算出来。如果您感兴趣,请向下面回复的人发表评论,看看问题是什么。感谢您的帮助。我对此表示感谢。哇,是的。我犯了一个愚蠢的错误。所以第一次不是问题,但第二次是因为不同的循环在if…else语句中。它没有检查(primeArray[I]=true)对于i=x,因为如果i=x,我是一个复合数,所以它运行其他部分。如果x是素数,我会在相反的循环中出错。这是漫长的一天。刚刚做了3个小时的练习普特曼考试。我想我今晚要休息了,哈哈。谢谢。对不起,伙计们,还没有15个名声。我刚加入,所以我不能给y打分我们的评论还没有更新。>
    if(primeArray[i]== true){