为什么我的程序在编译时没有输出?

时间:2014-05-22 06:38:46

标签: java arrays

我想创建一个二维数组。 我可以编译但无法运行

public class Arraytest1 {

    public static void main(String[] args) {
        int i, j, k = 0;
        int test[][] = new int[4][5];
        for (i = 0; i < 4; i++) {
            for (j = 0; j < 5; j++) {
                test[i][j] = k;
                k++;
            }
        }
        for (i = 0; i < 4; i++) {
            for (j = 0; j < 5; k++)
                System.out.print(test[i][j] + " ");

            System.out.println();    
        }
    }

}

5 个答案:

答案 0 :(得分:7)

你有一个无限循环:for(j=0;j<5;k++),你必须写for(j=0;j<5;j++)

您递增k而不是j

答案 1 :(得分:0)

你有一个无限循环。您正在递增k而不是j

for(j=0;j<5;k++)

您应该将其更改为

for(j=0;j<5;j++)

答案 2 :(得分:0)

这里......这应该有效。只需更改子循环,使其成为j++,而不是k++顶部和底部

public static void main(String[] args) {
      int i, j, k = 0;
      int test[][] = new int[4][5];
      for (i = 0; i < 4; i++) {
          for (j = 0; j < 5; j++) {
              test[i][j] = k;
              k++;
          }
      }
      for (i = 0; i < 4; i++) {
          for (j = 0; j < 5; j++)
              System.out.print(test[i][j] + " ");
          System.out.println();
      }
  }

答案 3 :(得分:0)

我认为你在第二个for-loop“块”中混淆了k和j变量。当我改为:

   ... 
   for (i = 0; i < 4; i++) {
      for (j = 0; j < 5; j++)
       System.out.print(test[i][j] + " ");

      System.out.println();    
    }
    ...

我将以下内容打印到我的控制台:

0 1 2 3 4 
5 6 7 8 9 
10 11 12 13 14 
15 16 17 18 19 

这是你想要的吗?

答案 4 :(得分:-1)

public class Arraytest1 {

    public static void main(String[] args) {
        int i, j, k = 0;
        int test[][] = new int[4][5];
        for (i = 0; i < 4; i++) {
            for (j = 0; j < 5; j++) {
                test[i][j] = k;
                k++;
           }
        }
        for (i = 0; i < 4; i++) {
            for (j = 0; j < 5; j++) {
                System.out.print(test[i][j] + " ");
                System.out.println();
            }
        }
    }

}

您可以解决此问题