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