Deve.haeri

[Java/연습문제] 주민번호로 성별 구분하기 본문

Quiz/01.input

[Java/연습문제] 주민번호로 성별 구분하기

hhaeri 2020. 9. 30. 20:27

1. 문제 설명

 - 주민번호를 하이픈(-) 없이 입력 받은 뒤 성별을 구분하여 출력한다.

 

2. 소스코드

package ex02_quiz;

import java.util.Scanner;

public class Quiz06 {

	public static void main(String[] args) {
		//문제. 주민 등록번호를 하이픈(-) 없이 입력 받아서 남자 여자 구분하여 출력하시오.
		
        Scanner sc = new Scanner(System.in);
		
		System.out.print("주민등록번호를 입력하세요");
		String strSn = sc.next();
		char genderNum = strSn.charAt(6); //입력 받은 주민번호에서 7번째 글자만 저장한다.
		String gender = genderNum%2 == 0 ? "여자" : "남자" ; //char 타입은 해당 문자의 코드값으로 계산한다.
		
        	// 대표 코드 값 
		// '0' - 48
		// 'A' - 65
		// 'a' - 97
        
		System.out.println("성별은 " + gender + "입니다.");

	}

}

 

3. 문제 해결 방법

 1) charAt()메소드를 사용하여 특정 글자만 char 타입 변수 genderNum에 저장한다.

   - strSn.charAt(6) : 주민번호의 7번째 숫자만 저장한다.

 2) genderNum을 나머지 연산을 하게 되면 strSn.charAt(6)으로 저장 된 숫자로 연산하는게 아니라 해당 숫자의 코드 값으로 연산된다. 

  ex) 950102123456 입력 > strSn.charAt(6)으로 1을 변수에 저장 > 나머지 연산 시 1이 아닌 1의 코드 값인 49의 나머지 구하는 연산을 한다.

 

4. 결과

Comments