안녕하세요 이제 자바배우기 시작한 개빠가새낍니다..
책보면서 진행하는중에 궁금한게 생겨서요
첫번째 이미지가 제가 푼건데 두번째처럼 에러가 떠요 근데 이게 도대체 왜뜨는지 모르겠습니다..
제 의도는 if문에서 n을 i로 나눈 값이 0이면 false를 반환하고 메소드를 끝내고
0이면 그냥 if문을 빠져나와서 true를 반환해라.. 거든요
근데 첫번째 이미지처럼 짜면 아래처럼 에러가 떠요
근데 이 중괄호 에러가 왜뜨는지 모르겠어요..ㅠㅠ
아근데 첫이미지처럼 짜면 왜안되는지 알았어요방금
저렇게 짜면 for문이 의미가 없어지는거 아닌가요? for문을 다 돌리기도 전에 return으로 메소드를 끝내버리니까
그래서 세번째이미지처럼 짜는건 왜그런지 알겠는데 두번째 이미지 저 괄호에러를 없애려면 어떻게 해야되나요?
애초에 안풀려서 대낮부터 맥주까먹고있다가 얼떨결에 돼서.. 궁금한거 올려봐요
죄송합니다 개빠가새끼라. ㅠㅠ
모든 경우에서 반환이 이루어 지지 아니해서 그렇습니다.
for문속을 못들어가는경우 리턴값이 없어집니다 ㅋㅋㅋㅋ 리턴이없는함수가된다는소리
컴파일러가 똘똘해서 n이 0일때는 리턴값이없어짐 그래서 에러띄어주는거
댓글 감사해요. 근데 메인메소드에서 i를 1로 잡아줬는데 0이 들어갈수기 있나요? 제가 이해를 못하는건지 ㅠㅠ 관련자료를 칮아보려면 어떻게 해야하나요?
아 i가 2일때 n<i 조건에 위배되서 에러가 나는걸까요
n이 2일때 i<n 으로 정정합니다
아니 그냥 명시적으로 어떠한경우에도 리턴값이 존재해야함... 약속같은거임 로직을잘보면 if 에서 탈출로가없고 for에서도 없는경우에는 죄다 저런식으로 컴파일애러임
탈출로가 있어야 한다.... 정말 감사합니다! 좋은주말되세요