2013-05-20 82 views
0
boolean isValidIndex (int [] x, int y) { 
    if((y>=0) && (y<x.length)) { 
     return true; 
    } 
    else { 
     return false; 

    } 
} 

編寫一個名爲isValidIndex()的方法,該方法接受一個整數和一個索引,如果索引對數組有效,則返回true。例如,如果數組有10個元素,則isValidIndex(array, 9)將返回True,但isValidIndex(array, 10)將返回False,isValidIndex(array, -1)也會返回False。取整數列表

這是我的代碼。它的作品,但顯然它可以只是一個聲明。我怎樣才能做到這一點?

+2

您可以重命名'y'來索引。 –

回答

5

格式爲if <expr> then true else false的任何東西總是可以縮短爲<expr>。所以,你的情況:

boolean isValidIndex (int [] x, int y) { 
    return (y >= 0) && (y < x.length); 
} 
8

這個表達式的值:((y >= 0) && (y < x.length))是一個布爾值,因此可以直接使用這樣的:

boolean isValidIndex (int [] x, int y) { 
    return (y >= 0) && (y < x.length); 
} 
2

可以直接返回:

return (y >= 0 && y < x.length); 
+5

是不是'y> -1'或'y> = 0',因爲Java從0開始索引0 – boburShox

+0

確實,忘記了asker的例子中的'='信號 – Felype

+0

@Felype您可以通過單擊來編輯和更正答案您的答案下方的「編輯」鏈接。我已經爲你做了。 – assylias

1

返回(Y> = 0) & &(y < x.length);

0

讓你的功能

boolean isValidIndex (int [] x, int y) { 

return ((y>=0) && (y<x.length)); 

} 

以下將評估爲真或假,可以返回相同。