下面的程序(感謝日晷)計算出一個矩形2-d陣列(行和列)
公共類ComputeTheArea {
public static int areaOfTheRectangle (char[][] table, char ch) {
int[] first = new int[2];
int[] last = new int[2];
for (int i=0; i<3; i++) {
for (int j=0; j<4; j++) {
if(grid[i][j]==ch) {
first[0] = i;
first[1] = j;
}
}
}
for (int i=2; i>=0; i--) {
for (int j=3; j>=0; j--) {
if(grid[i][j]==ch) {
last[0] = i;
last[1] = j;
}
}
}
int answer = ((Math.max(first[0]+1,last[0]+1) - Math.min(first[0]+1,last[0]+1)) *
(Math.max(first[1]+1,last[1]+1) - Math.min(first[1]+1,last[1]+1)));
return answer;
}
然而,在運行時,它輸出的區域錯誤的答案。我知道for循環有什麼問題。我是Java新手,我需要您的幫助才能修復此方法。請非常感謝你!
編輯:我編輯了代碼以符合邁克爾的答案。
這給出了什麼錯誤的答案? – 2012-07-15 11:21:04
你好@BhavikAmbani!當用戶輸入'a'時,它將返回6.如果'b,c,d',它將返回0. – 2012-07-15 11:24:41