본문 바로가기

JAVA/JAVA

자바 예제 - 선택문 3 암진단검사를 받을때 홀수년도, 짝수년도 출생자들을 구분하여 검사를 받게 할때 그값을 컴퓨터가 알수 있도록 하는 방법

반응형

<설명>

암진단검사를 받을때 홀수년도, 짝수년도 출생자들을 구분하여 검사를 받게 할때 그값을 컴퓨터가 알수 있도록 하는 방법


<하기전 개념정리>

1992

==> 짝수

왜 짝수인가 ?


그수를 2로 나누어 나머지가 0이 되면 짝수

그렇지 않으면 홀수


% 나머지를 나타내는 연산자


예제)

a = 5/2; 결과값 2 (int는 소수점 버리고 나타냄)

b = 5%2; 결과값 1 (나머지를 구하는 것이니까)

= 같다 X 대입연산자임

== 같다 연산자



<<실행 예제>>

java CancerTest

이름을 입력하세요 ==> 홍길동

출생년도를 입력하세요 ==> 1992

홍길동님은 무료 암검진 대상자 입니다.

<코드1> 은 짝홀수에 따른 대상자만 출력하는 것 (조건값1개)

<코드2> 는 짝홀수와 몇세 이상 대상자를 출력하는 것 (조건값2개)

<코드3> 은 코드2에서 출생년도로 나이를 알 수 있는 변수를 넣고 다시 쓴것


<코드1 조건>

사용자로부터 출생년도를 입력받아 암검진 대상자 인지 판별하는 프로그램을 작성하시오.
(올해 2016년도는 짝수년도에 태어난 사람이 무료 암검진 대상자 이다.)


<<코드1>>

import java.util.Scanner;

class CancerTest{

public static void main(String []args){


String okno;

String name;

int year;


Scanner sc = new Scanner(System.in);

System.out.println("이름을 입력하세요");

name = sc.next();

System.out.println("출생년도를 입력하세요");

year = sc.nextInt();


if(year%2==0){

okno = "무료 암검진 대상자 입니다.";

}

else{

okno = "무료 암검진 대상자가 아닙니다.";

}

System.out.println(name + "님, " + okno);

}

}


**if(age%2==0) 에서 %2 는 2로 나눈다는 것, ==0은 같다는 것을 표시한거라

한꺼번에 %2==0 을 사용한 것임



<코드2 조건>

사용자로부터 출생년도를 입력받아 암검진 대상자 인지 판별하는 프로그램을 작성하시오.
(2016년도의 무료암검진 대상자는 40세 이상이고, 짝수년도에 사람)


<<코드2>>


import java.util.Scanner;


class CancerTest{

public static void main(String []args){


String okno;

String name;

int year;


Scanner sc = new Scanner(System.in);

System.out.println("이름을 입력하세요");

name = sc.next();

System.out.println("출생년도를 입력하세요");

year = sc.nextInt();


if(year<=1976 && year%2==0){

okno = "무료 암검진 대상자 입니다.";

}

else{

okno = "무료 암검진 대상자가 아닙니다.";

}


System.out.println(name + "님, " + okno);

}

}

**if( 조건식1 조건식2 )

참일때 실행 할 문장;

else

거짓일때 실행 할 문장;


위에 if 문장에 조건식이 두가지 이상인 경우 && 를 사용한다.

위에 if 문장에 조건식이 둘중 하나인 경우 ||를 사용한다.



<코드3 조건>

코드2에서 출생년도로 나이를 알 수 있는 변수를 넣고 다시 쓴것


<<코드3>>


import java.util.Scanner;

class CancerTest{

public static void main(String []args){

String okno;

String name;

int year;


Scanner sc = new Scanner(System.in);

System.out.println("이름을 입력하세요");

name = sc.next();

System.out.println("출생년도를 입력하세요");

year = sc.nextInt();


int age = 2016 - year;


if( age >= 40 && year%2==0){

okno = "무료 암검진 대상자 입니다.";

}

else{

okno = "무료 암검진 대상자가 아닙니다.";

}


System.out.println(name + "님, " + okno);

}

}

반응형