我在java输出中得到无限循环

我在java输出中得到无限循环,java,multidimensional-array,Java,Multidimensional Array,实际上,我试着在hackerrank中实现一个问题的代码,我们需要找到对角线差并给出它的绝对值。但当我尝试打印循环外的输出时,它会显示无法访问的代码。如果我在for循环中使用它,我得到的是无限循环 import java.util.*; public class HourGlass { public static void hour(int k) { Scanner sc=new Scanner(System.in); int n,sum1,s

实际上,我试着在hackerrank中实现一个问题的代码,我们需要找到对角线差并给出它的绝对值。但当我尝试打印循环外的输出时,它会显示无法访问的代码。如果我在for循环中使用它,我得到的是无限循环

import java.util.*;
public class HourGlass  
{
    public static void hour(int k)
    {
        Scanner sc=new Scanner(System.in);
        int n,sum1,sum2,sum3,i=0,j=0;
        n=sc.nextInt();
        int a[][]=new int[n][n];
        for(i=0;i<n;i++)
        {
            for(j=0;j<n;j++)
            {
                a[i][j]=sc.nextInt();
            }
        }
        for(i=0;i<=n-1;i++)
        {
            for(j=0;j<=n-1;j++)
            {
                i=0;
                j=0;
                {
                    sum1=a[i][j]+a[i+1][j+1]+a[i+2][j+2];
                    sum2=a[i+2][j]+a[i+1][j+1]+a[i][j+2];
                    sum3=sum1-sum2;
                    k =Math.abs(sum3);
                }
                System.out.println(k);  
            }
        }
    }
    public static void  main(String args[]){
        HourGlass h=new HourGlass();
        h.hour(0);
    }
}
import java.util.*;
公共类沙漏
{
公共静态空闲时间(整数k)
{
扫描仪sc=新的扫描仪(System.in);
int n,sum1,sum2,sum3,i=0,j=0;
n=sc.nextInt();
int a[][]=新int[n][n];

对于(i=0;i您是否看到正在修改循环中的循环变量

除去

i=0;
j=0;

循环将结束。

您是否看到正在修改循环中的循环变量

for(j=0;j<=n-1;j++)
{
    i=0; // this line needs to go away. its resetting the counter.
    j=0; // this line needs to go away. its resetting the counter.

}
除去

i=0;
j=0;

循环将结束。

for(j=0;j
for(j=0;j但是如果我删除这两行,它将抛出arrayindexoutofboundException。
for(j=0;j<=n-1;j++)
{
    i=0; // this line needs to go away. its resetting the counter.
    j=0; // this line needs to go away. its resetting the counter.

}

我想解释一下我的逻辑。实际上我需要初始化一个数组为0,并将两个索引值I和j遍历到代码中提到的相应位置。请帮助但如果我删除这两行,它会抛出arrayindexoutofboundException。
我想解释一下我的逻辑。实际上我需要初始化一个数组为0,并将两个索引值I和j遍历到代码中提到的相应位置。请帮助

在循环中设置
I=0;和j=0;
它将永远不会退出。您正在第二个for循环中初始化I和j。因此,I和j将在d您将在无限循环中结束。您的设置
i=0;和j=0;
在您的循环中…它将永远不会退出。您正在第二个for循环中初始化i和j。因此i和j将被重新初始化,您将在无限循环中结束。问题是我需要添加这些设置,因为我需要初始化数组,因为i=0,j=0,我需要遍历通过上面的位置获得输出。如果我删除它,它会抛出ArrayIndexOutofBond异常问题是我需要添加这些,因为我需要将数组初始化为I=0,j=0,我需要遍历上面的位置以获得输出。如果我删除它,它会抛出ArrayIndexOutofBond异常