# 리뷰: 윤년 여부 계산 #### CODE <a class='btn btn-default' href='/codes/37591'>Link</a> ``` public class LeapYear { public static void main(String[] args) { /* 1. 입력값 받기 */ int year = Integer.parseInt(args[0]); boolean isLeapYear = false; /* 2. 윤년 여부 계산 */ if((year % 1000) == 0 || (year % 4) == 0) { isLeapYear = true; if((year % 100) == 0) { isLeapYear = false; } } /* 4. 결과 출력 */ Result(year,isLeapYear); } /* 3. 윤년 여부를 반환하는 메소드 */ public static String Result(int n, boolean m) { System.out.println(n + "년은 윤년입니까? " + m); } } ``` #### INPUT ``` 1988 ``` #### OUPUT ``` /root/var/tmp/2021_01_07_08_30_15_dc9437ec/LeapYear.java:21: error: missing return statement } ^ 1 error ``` 이 코드가 작동하지 않는 이유가 무엇인가요? 에러 내용을 구글링해보니까 if문이 모든 경우의 return 값을 반환하지 못해서 라고 하는데 저는 이 if문이 왜 모든 경우의 결과값을 정의하지 못하는지 모르겠습니다...
# 어딘가에 중괄호나 소괄호 쌍이 안맞아서 생겼을듯 합니다. @_@... 아이고 눈이야..
작성자 분이 안보실거 같은데 그래도 답변 적어봅니다. 일단 에러메시지 부분만 해석드리면 여기에 리턴값이 없어서 컴파일이 안됩겁니다. public static String Result(int n, boolean m) { System.out.println(n + "년은 윤년입니까? " + m); } 이 메소드를 String으로 Return 하겠다고 하셨는데 그냥 프린트 하는것만 써놨기 떄문에 컴파일이 안됩겁니다. 일단 이거부터 고쳐보시면 될 거 같습니다. 이거 이외에도 문제는 여러곳에 있지만 일단은 이것만 고치면 컴파일은 될꺼 같습니다.