【问题标题】:Printing integers with for loops使用 for 循环打印整数
【发布时间】:2016-04-12 17:43:41
【问题描述】:

我在尝试打印 9x9 整数网格时遇到了一个奇怪的问题。当我在 main 方法中尝试这段代码时:

for (int row = 0; row < 9; row++) {         
    for (int col = 0; col < 0; col++) {
        System.out.format( "%d ", entries[row][col] );
        }
    System.out.print("\n");     
}

输出只是一堆空格和换行符,没有实际的整数。我已经测试了“条目”以确保它实际上包含正确的值(确实如此)。奇怪的是,当我在 main 方法中尝试以下代码时:

System.out.format("%d ", entries[0][0]);

它有效。由于某种原因,for 循环弄乱了输出。有什么想法吗?

【问题讨论】:

  • col &lt; 0?这不可能。

标签: java for-loop output


【解决方案1】:

你在内部 for 循环中犯了一个错误:

for (int col = 0; col < 0; col++)

这不会进行任何迭代,因为零等于零。

我想这就是你想要的:

for (int col = 0; col < 9; col++)

【讨论】:

  • 噢,就是这样。谢谢老哥
【解决方案2】:

问题在于第二个for循环中的条件

for (int col = 0; col < 0; col++) {

它总是假的,因此永远不会被执行。

你应该改用:

for (int col = 0; col < 9; col++) {

【讨论】:

    【解决方案3】:

    这个条件永远不会满足:

     for (int col = 0; col < 0; col++) {
    

    所以你可以通过这样做来简化它:

    for (int row = 0; row < 9; row++) {         
         System.out.format( "%d ", entries[row][0] );
         System.out.print("\n");     
    }
    

    【讨论】:

      【解决方案4】:

      要打印二维数组,您必须使用如下循环打印数组中的每个元素:

       int[][] matrix = new int[9][9];//9*9 grid container
      
      for(int row=0 ; row < matrix.length ;row++){ 
        for(int column= 0 ; column < matrix[row].length;column++){
          System.out.print(matrix[row][column] + "");
         }
        System.out.println();
       }
      

      【讨论】:

        猜你喜欢
        • 2013-02-20
        • 1970-01-01
        • 2012-04-06
        • 1970-01-01
        • 1970-01-01
        • 2022-12-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多