본문 바로가기
기타

문제풀이 ) 건강검진 대상자 구하기

by kakk789 2022. 4. 7.
사용자 한테 주민번호를 입력받아 무료암검진 대상자 인지 판별하고 암검진 항목을 출력하는 프로그램을 작성합니다.

<< 처리조건 >>
1. 무료암검진 대상자는 나이가 40세 이상
2. 올해가 짝수년도이면 짝수년도에 태어난사람
3. 올해가 홀수년도이면 홀수년도에 태어난사람

<< 무료암검진 항목>>
40세이상 남자 : 위암,간암
40세이상 여자 : 위암,간암,유방암,자궁암
50세이상 남자 : 위암,간암,대장암
50세이상 여자 : 위암,간암,유방암,자궁암,대장암
		Scanner sc = new Scanner(System.in);
		
		System.out.print("주민등록번호 전부 입력하세요>> ");
		String juminNo = sc.next();
		
		String jumin_4 = "19" + juminNo.substring(0,2); 
		// 주민번호 앞 2자리에 19를 붙여서 1993 같은 4자리 연도수 생성
		
		int born_year= Integer.parseInt(jumin_4); 
		int thisYear = 2022;
		
		int age = thisYear - born_year;
		
		int jumin_split_sex= Integer.parseInt(juminNo.substring(7,8));
		// 성별 구하기, 주문번호 뒷 7자리의 첫글자를 가져오기
		
		
		System.out.println(born_year);
		System.out.println(age);
		
		if (((thisYear%2==0 && born_year %2==0) || 
				(thisYear%2==1 && born_year %2==1)) && 
				jumin_split_sex==1 && age>=40 && age <=50) {
			System.out.println("남성 " + born_year + "년생, 올해 " 
				+ age+ "세, 위암, 간암 무료검진 대상입니다.");
		}
		else if(((thisYear%2==0 && born_year %2==0) || 
				(thisYear%2==1 && born_year %2==1)) && 
				jumin_split_sex==1 && age>=50 ) {
			System.out.println("남성 " + born_year + "년생, 올해 " 
				+ age+ "세, 위암, 간암, 대장암 무료검진 대상입니다.");
		}
		else if(((thisYear%2==0 && born_year %2==0) || 
				(thisYear%2==1 && born_year %2==1)) && 
				jumin_split_sex==2 && age>=40 && age <=50) {
			System.out.println("여자 " + born_year + "년생, 올해 " 
				+ age+ "세, 위암, 간암, 유방암, 자궁암 무료검진 대상입니다.");
		}
		else if(((thisYear%2==0 && born_year %2==0) || 
				(thisYear%2==1 && born_year %2==1)) && 
				jumin_split_sex==2 && age>=50 ) {
			System.out.println("여자 " + born_year + "년생, 올해 " 
				+ age+ "세, 위암, 간암, 유방암, 자궁암, 대장암 무료검진 대상입니다.");
		}
		else {
			System.out.println("대상자가 아닙니다.");
		}
반응형

댓글