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

    } 
} 

정수와 인덱스 배열을 사용하고 인덱스가 배열에 유효하면 true를 반환하는 isValidIndex()이라는 메서드를 작성합니다. 예를 들어 배열에 요소가 10 개있는 경우 isValidIndex(array, 9)은 을 반환하고 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

이 식의 값 :

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

직접 반환 할 수 있습니다 :이처럼 직접 사용할 수 있도록 ((y >= 0) && (y < x.length))은 부울입니다

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

은 자바가 0에서 인덱싱을 시작하기 때문에'y> -1' 또는'y> = 0'이 아닙니다. – boburShox

+0

실제로, asker의 예제에서 '='신호를 잊었습니다. – Felype

+0

@Felype 클릭하여 당신의 대답 바로 아래에'edit' 링크가 있습니다. 나는 너를 위해 해왔다. – assylias

1

리턴 (Y> = 0) & & (y < x 길이);

0

다음은 참 또는 거짓과 리턴 될 수있는 동일하게 평가합니다

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

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

} 

로 기능을합니다.