如果我有一個一維陣列,我可以很容易地用a.length. 在二維陣列中,我可以用這樣的東西檢查所有列的長度
int[][] a = {{5,3,4,6,7,8,9,1,2},
{6,7,2,1,9,5,3,4,8},
{1,9,8,3,4,2,5,6,7},
{8,5,9,7,6,1,4,2,3},
{4,2,6,8,5,3,7,9,1},
{7,1,3,9,2,4,8,5,6},
{9,6,1,5,3,7,2,8,4},
{2,8,7,4,1,9,6,3,5}};
for (int k = 0; k < a.length; k ) {
if (a[k].length != 9) return false
}
我什至不確定這是否正確。如何檢查不同的行?當我有一個 4x4 矩陣,而最后一行只包含 3 個值而不是 4 個值時,我怎樣才能找到它?
uj5u.com熱心網友回復:
(錯誤后缺少分號。)您的代碼是正確的。如果你通過了一個int[][] a未知大小的:
boolean isRectangularMatrix(int[][] a) {
int columnCount = 0; // Maybe interesting too.
boolean rectangular = true;
if (a.length != 0) {
columnCount = a[0].length;
for (int k = 1; k < a.length; k ) {
if (a[k].length != columnCount) {
//return false; // Or:
rectangular = false;
break;
}
}
}
return rectangular;
}
boolean isSquareMatrix(int[][] a) {
int columnCount = 0; // Maybe interesting too.
boolean square = true;
if (a.length != 0) {
columnCount = a[0].length;
if (a.length != columnCount) {
square = false;
} else {
for (int k = 1; k < a.length; k ) {
if (a[k].length != columnCount) {
//return false; // Or:
square = false;
break;
}
}
}
}
return square;
}
您不需要檢查是否相應地創建了陣列:
int[][] a = new int[M][N];
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/367663.html
