簡體   English   中英

2維數組用於循環語句Java編程

[英]2 dimensional arrays for loops statements java programming

我正在嘗試編寫一個for語句,一次匯總一個二維數組的行和列,並確定所有和是否相同。 我已完成以下操作,但無法弄清楚自己在做什么錯。

 public static int isMagic(int mat[][])
    {
        int row = mat.length;
        int col = mat[0].length;
        int sum = row + col;
        if(row == col)
        {
            System.out.println("The matrix is a magic square.");
        }
        else
        {
            System.out.println("The matrix is not a magic square.");
        }
        return sum;
        for(int sumR = 0; sumR < mat.length; sumR++)
        {
            int total = 0;
            for(int sumC = 0; sumC < mat[sumR].length; sumC++)
            {
                total += mat[sumR][sumC];
                if(sumR == 34 && sumC == 34)
                {
                    System.out.println("The sum of all rows and columns is 34.");
                }
                else
                {
                    System.out.println("The matrix is not a magic square.");
                }
            }
            return total;
        }
    }

矩陣的例子。

1 2 3 4 5 6 7 8 9

您總是返回變量sum(行+ col),它永遠不會到達循環。 只需刪除第一個return語句,它就可以工作。

我不建議您將sum變量用作索引。 也許做這樣的事情:

    for(int r = 0; r < mat.length; r++){
      for(int c = 0; c < mat.length; c++){
        sumC = sumC + mat[r][c];
      }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM