본문 바로가기
Kosta DevOps 과정 280기/과제

무료 암검진 대상자 판별 프로그램

by 롯슈83 2024. 5. 12.

문제1

내용

  • 사용자한테 이름, 출생연도, 성별을 입력받아 무료 암검진 대상자인지 판별하는 프로그램을 작성합니다.

처리조건

  • 무료암검진 대상자는 나이가 40세 이상이고, 그 해가 홀수연도이면 홀수연도에 태어나고, 그 해가 짝수연도이면 짝수연도에 태어난 사람입니다. 또 성별별로 나이별로 검진 항목은 다음과 같습니다.
  • 40세 이상 남자이면 위암, 간암
  • 40세 이상 여자이면 위암, 간암, 유방암, 자궁암
  • 50세 이상 남자이면 위암, 간암, 대장암
  • 50세 이상 여자이면 위암, 간암, 대장암, 유방암, 자궁암

푼 코드

import java.util.Scanner;
import java.util.Date;

class HelloJava{
	public static void main(String []args ){
		String name, gender, tot = ""; 
		int birthYear, currentYear, age;
		Scanner sc = new Scanner(System.in);
		Date current = new Date();

		final String commonHealthChk = "위암, 간암"; 
		final String AgeHighHealthChk = "대장암";
		final String womanHealthChk = "유방암, 자궁암";
		
		
		System.out.print("이름을 입력해주세요 ==> ");
		name = sc.next();

		System.out.print("출생년도를 입력해주세요 ==> ");
		birthYear = sc.nextInt();
		currentYear = current.getYear() + 1900;
		age = currentYear - birthYear;
		
		if(age < 40){
			System.out.printf("%s님은 %d살로 무료암검진 대상자가 아닙니다.", name, age);
			sc.close();
			return;
		}
		if((currentYear % 2 == 0 && birthYear % 2 == 1)||(currentYear % 2 == 1 && birthYear % 2 == 0)){
			System.out.printf("%s님의 무료암검진은 1년 뒤입니다.", name);
			sc.close();
			return;
		}
		System.out.print("성별을 입력해주세요(man / woman) ==> ");
		gender = sc.next();
		

		tot += (age >= 50)? (commonHealthChk + ", "+ AgeHighHealthChk) : commonHealthChk;

		if(gender.equals("man"))
			tot += "";
		else if(gender.equals("woman"))
			tot += ", "+womanHealthChk;
		else{
			System.out.println("성별을 정확히 기입해주세요.");
			sc.close();
			return;
		}

		System.out.printf("%s(%d)님은 %s검사 대상자입니다.\n", name, age, tot);

		sc.close();
	}	
}

 

실행1

나이를 적게 입력해보기

 

 

실행2

짝수년도에 홀수 탄생연도 쓰기

 

실행3

성별 잘못 입력하기

 

실행4

40세 이상 50세 미만의 남자

 

실행5

50세 이상의 남자

 

실행6

40세 이상 50세 미만의 여자

 

실행7

50세 이상의 여자

'Kosta DevOps 과정 280기 > 과제' 카테고리의 다른 글

클래스 만들기  (0) 2024.05.17
사주팔자  (0) 2024.05.14