강의로 돌아가기
-

어떤게 틀린지 모르겠네요

19세를 초과하고 30세 미만의 경우로 잡아서 코드를 짜보았는데

어떤게 틀린거죠???

작성중인 코드―LogicalOperatorExam2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class LogicalOperatorExam{
    public boolean isAgeTwenties(int age){
        boolean isTwenties = false;
        //이 아래 줄을 수정하세요.
        if(19<age || age<30) {
            isTwenties = true;
        }
        else{
            isTwenties = false;
        }

    return isTwenties;//결과 테스트를 위한 코드입니다.
    }

    //아래는 실행을 위한 코드입니다. 수정하지 마세요.
    public static void main(String[] args){
        LogicalOperatorExam exam = new LogicalOperatorExam();
        exam.isAgeTwenties(19);
        exam.isAgeTwenties(25);
    }
}
2 개의 답변
정두식_

age가 19일 경우를 검사합니다. expected:<true> but was:<false>
라고 나오네요.

age가 19이면 작성하신 코드에서 true가 나오는지 false가 나오는지 확인해 보세요.

19를 넣으면 false,
21을 넣으면 true가 나와야 합니다.

-

|| 를 &&으로 바꾸면 정답이라고 나오는데 그냥 출제자가 의도한 답안이 아니라서 안된듯

  • -

    그게 아니라 ||는 or를 의미하고, &&는 and를 의미하는데, 20대라 함은 a.(20~29세)이지, b. (20이상 or 30미만)이 아니기 때문입니다. b.의경우를 더 구체적으로 보면, 20이상, (즉, 20~30~40~n ) + 30미만, (즉, 29~20~19~18~17~...n) 인데요.

    -―2017.08.18 11:24
답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.