반응형

우선 윤년의 조건이다.

1. 4로 나누었을 때 나머지가 0인 년도

2. 4로 나누어 떨어졌을때 나머지가 0이라도 100으로 나누었을 때도 나머지가 0이면 평년 

3. 4로 나누어 떨어졌을 때 나머지가 0이고 100으로 나누었을때도 나머지가 0이지만 , 400으로 나누어 떨어지면 윤년

package chap03;
import java.util.Scanner; // 입력 

public class plus {

	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		int num;
		while(true) {
		System.out.printf("년도를 입력하세요 : ");
		num = s.nextInt();
		if(num%4==0) {
			System.out.println(num + "년은 윤년입니다.");
		}
		else if((num%4 == 0 & num%100 == 0) & num%400 == 0) {
			System.out.println(num + "년은 윤년입니다.");
		}
		else if(num%4==0 & num%100 == 0) {
			System.out.println(num + "년은 윤년이 아닙니다.");
		}
		else {
			System.out.println(num + "년은 윤년이 아닙니다.");
		}
	
		} 	 
	}
}

 위에는 if-else if문을 이용하여 짠 코드이다. 다소 복잡해보이고 조금 번거롭기 때문에

package chap03;
import java.util.Scanner; // 입력 

public class plus {

	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		System.out.print("년도를 입력하세요: ");
		int num = s.nextInt();
		boolean x = (num % 4) == 0;
		boolean y = (num % 100) != 0;
		boolean z = ((num %100 == 0) && (num % 400 == 0)); 
		if(x && (y||z)) {
			System.out.println(num + "년은 윤년 입니다.");
		}
		else {
			System.out.println(num + "년은 윤년이 아닙니다.");
		}
		s.close();
	}
}

 위에 코드 처럼 조건문을 부울변수에 넣고 다시 if-else문을 사용하여 더욱 간결하게 풀어내었다.

반응형

'JAVA > 2020 프로그램' 카테고리의 다른 글

[JAVA] 가위바위보 게임  (0) 2019.12.08
[JAVA] 별찍기  (0) 2019.12.08
[JAVA] 알파벳 프로그램  (0) 2019.12.07
[JAVA] 소수점 두자리까지 같은 지 확인  (0) 2019.12.07
양수 판단 코드  (0) 2019.12.07

+ Recent posts