U 헬싱키 자바 코스를 사용하고 있는데 윤년 문제가 생겼습니다.윤년이 유효하지 않습니다.
저는 if와 else로 연산자를 사용하고 있고 코드는 올바르게 보이지만 1700, 1500을 윤년으로 반환합니다. 이 예는 4 경우와 나누어 윤년한다고 그리고 그것은 경우 검사가 정확하지 않기 때문에 100
import java.util.Scanner;
public class LeapYear {
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
System.out.println("Type a year: ");
int year = Integer.parseInt(reader.nextLine());
if ((year % 4 == 0) || ((year % 100 == 0) && (year % 400 == 0))){
System.out.println("The year is a leap year.");
} else {
System.out.println("The year is not a leap year.");
}
}
}
@Reimeus * 그러나 1700, 1500을 윤년으로 * 반환합니다. 코드가 그러한 결과를 생성하지 않기 때문에 믿기 어렵지만, 개선 할 부분은 없습니다. 이 질문은 두 사이트 모두 주제가 될 수 있습니다. 질문이 더 명확 해지면 codereview와 여기. –
'((연도 % 4 == 0) && (연도 % 100 == 0) && (연도 % 400 == 0)) {'또한 400으로 나눌 수있는 경우 100으로 자동 나눌 수 있습니다. , 그렇지 않니? – jbutler483
코드가 작동하지 않으므로 CodeReview에는 적합하지 않습니다. 이 사이트는 디버깅이 아닌 이미 작동중인 코드를 개선하기위한 것입니다. – krillgar