2013-03-12 44 views
-5

我只是想知道如果我能有一些幫助,我的計劃,這些都需要:創建兩個方法,返回布爾方法?

現在添加兩個公共的方法來獲取和設置這一新的數組的值: 公共無效揪出(INT thisCol,INT thisRow)未知方法將指定平方的狀態更改爲false。否則,如果輸入座標在雷場之外,或者方塊已經被發現,它什麼也不做。

public boolean isCovered(int thisCol,int thisRow)如果覆蓋了指定的平方,isCoveredmethod返回true。否則,如果輸入座標在雷區之外或者方塊未被覆蓋,則返回錯誤。

我試圖在下面創建這些方法,但我不認爲它們是正確的,請任何人都可以看看?

public void uncover(int thisCol, int thisRow) { 
    if(thisCol <0 || thisRow < 0) 
     return null; 
    if(thisCol>=numCols || thisRow>=numRows) 
     return null; 
} 

public boolean isCovered(int thisCol, int thisRow){ 
    if(thisCol >0 || thisRow > 0) 
     return true; 
    if(thisCol>=numCols || thisRow>=numRows) 
     return true; 
    else; 
     return null; 
} 
+0

在你的布爾不必返回假的。你正在返回null。 布爾值不能爲空。 – CathalMF 2013-03-12 15:07:32

+0

如果返回類型爲void,則不能返回。你只能返回。 – 2013-03-12 15:08:14

+0

無效void返回null – 2013-03-12 15:08:16

回答

0

第一種方法: -

public void uncover(int thisCol, int thisRow)

這是一種空隙方法。這意味着你可以不返回任何值(null, true or false)

第二種方法: -

public boolean isCovered(int thisCol, int thisRow)

因爲返回類型是布爾你不能返回null。所以它應該是return false;

以上的變化需要糾正。之後,你可以嘗試使用你的代碼。

0

我的理解(在C#中)是「public void」表示你沒有返回任何東西給調用者。所以在「uncover」方法中,我希望它在嘗試返回Null時給你一個錯誤。

此外,在第二個,我希望也會看到「return null」行上的錯誤,因爲您的返回類型是布爾值。

0

假設數組聲明的類內的variabile的:

private boolean thisArray[][]; 

這裏是正確的uncover功能:

public void uncover(int thisCol, int thisRow) { 
    if(thisCol < 0 || thisRow < 0) return; 
    if(thisCol >= numCols || thisRow >= numRows) return; 
    thisArray[thisCol][thisRow] = true; 
} 

更正:

  1. 返回聲明沒有價值,因爲函數返回void
  2. 最後一排
  3. Assignemnt陣列值:thisArray[thisCol][thisRow] = true

這裏是正確的isCovered功能:

public boolean isCovered(int thisCol, int thisRow){ 
    if(thisCol < 0) return false; 
    if(thisRow < 0) return false; 
    if(thisCol >= numCols) return false; 
    if(thisRow >= numRows) return false; 
    return thisArray[thisCol][thisRow]; 
} 

更正:

  1. 如果座標外的廣場它必須返回false,你正在返回true;
  2. 你失蹤了檢查數組的有效價值,我在最後一排接着說:return thisArray[thisCol][thisRow];