[英]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.