Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 二维数组结束_Java_Debugging_Loops - Fatal编程技术网

Java 二维数组结束

Java 二维数组结束,java,debugging,loops,Java,Debugging,Loops,用java怎么说 如果我到达2d数组中的一行末尾,但在该行中仅遇到0 要将行设置为下一行(行++),并将列设置为0(列=0) 我遇到的问题是,我的算法将进入一个无限循环:D 谢谢嗯,听起来你想要一个基本的嵌套循环来遍历你的数组 for(int i=0; i<rows.length; i++) for(int j=0; j<columns.length; j++) for(int i=0;i此示例在数组中循环,直到找到第一个非零值,并将其与坐标一起输出 int[][] x =

用java怎么说

如果我到达2d数组中的一行末尾,但在该行中仅遇到0 要将行设置为下一行(行++),并将列设置为0(列=0)

我遇到的问题是,我的算法将进入一个无限循环:D


谢谢

嗯,听起来你想要一个基本的嵌套循环来遍历你的数组

for(int i=0; i<rows.length; i++)
   for(int j=0; j<columns.length; j++)

for(int i=0;i此示例在数组中循环,直到找到第一个非零值,并将其与坐标一起输出

int[][] x = new int[column][row];
boolean allzero = true;

for(int i=0;i<row;i++) {
  for(int j=0;j<column;j++) {
    allzero = (x[j][i]==0) && allzero;
    if(!allzero) {
      //what do we want to do when we encounter a non zero value?
      System.out.println("Found "+x[j][i]+" at row: "+i+" column: "+j);
      break;
    }
  }
  if(!allzero) {
    //what do we want to do when we encountered a non zero value?
    break;
  }
}
int[]x=新的int[列][行];
布尔值allzero=true;

对于(int i=0;i使用您期望的示例输入和输出来加载代码。如果不向您发送整个项目(包括存储在程序外部的文件中的图形),几乎是不可能的。我有一个对称矩阵,当我循环访问它的顶部时,我发现a>0,我从矩阵[x][y]和矩阵[y][x]中减去一个然后我将下一行设置到我所在的列,直到数组中没有值为止,问题是当我这样做的时候,我得到了一个点,一行中没有0,因此我需要说,如果我在一行的末尾,没有0,只需从下一行重新开始,那么你到底想做什么?如果你试图动态地在循环中调整nxn二维数组的大小,可能会给自己带来麻烦。这听起来很深奥,但如果您只是想同时减少[2][3]和[3][2]中的值当数组中仍然有非零值时,你可以简化逻辑。是的,这就是我一直在做的,它对snaller图很好,我只是尝试创建一个beast,它陷入了一个循环:在这种情况下,为什么不正常地迭代数组,并计算[x][y]和[y][x]的差,并将其存储在一开始较大的任何一个中?无论如何,这将是您调整的最终结果。如果您的最终目标是只拥有一个0的nxn数组,那么还有一种更简单的方法可以做到这一点…:)
int[][] x = new int[column][row];
boolean allzero = true;

for(int i=0;i<row;i++) {
  for(int j=0;j<column;j++) {
    allzero = (x[j][i]==0) && allzero;
    if(!allzero) {
      //what do we want to do when we encounter a non zero value?
      System.out.println("Found "+x[j][i]+" at row: "+i+" column: "+j);
      break;
    }
  }
  if(!allzero) {
    //what do we want to do when we encountered a non zero value?
    break;
  }
}