본문 바로가기
it 공부/Java

String 클래스로 실습하기 - (1)

by blancfleur 2021. 8. 3.

String str = "900108-1234567" 주민 번호를 대입하고, 
 1. 정확히 입력된 데이터 여부 확인
  (전체 자리수: 14, '-' : 7번째 확인)  
 2. 생년월일 출력(1-2번째 : 년도, 3-4번째: 월, 5-6번째: 일)
 3. 성별 확인하고 출력(1,3 : 남성 2,4 : 여성)
 4. 데이터 값 검증 (월: 1~12, 일 : 1~31일)
 (참고) int num = Integer.parseInt("12"); //문자열 "12" -->12

-------------------------------------------------------------------------------

 

1. 정확히 입력된 데이터 여부를 확인해보자. 

이프문으로 str의 length가 14자리가 맞냐고 물어보고 맞으면 "[정상] 전체길이 14자리"를 출력하게 만들었다. 

그리고 두번 확인한다. 

주민번호  "900108-1234567" 에 '-'이 7번째 인덱스에 위치하는지 확인을 한다.

제대로 맞으면 "[정상] '-' 문자 위치 7번째 자리"가 콘솔창에 출력이 된다. 

 

 2. 생년월일 출력(1-2번째 : 년도, 3-4번째: 월, 5-6번째: 일) 생년월일은 substring() 메소드를 사용하여 출력한다.

substring() 메소드는 시작위치부터 끝 위치 범위에 포함된 문자열을 얻는데, 이때 마지막 위치의 인덱스는 제외된다. 

그래서 인덱스 0번에서 2번까지는 생년이고, 0(2번 인덱스는 제외)인덱스 2번에서 4번은 월이고(4번 인덱스는 제외), 인덱스 4번에서 6번까지는 일이다.(6번인덱스 제외)

 

 3. 성별 확인하고 출력(1,3 : 남성 2,4 : 여성)

성별을 확인하는 건 substring() 메소드부터 스위치문, charAt()메소드를 사용하여 출력할 수 있다. 

 

 4. 데이터 값 검증 (월: 1~12, 일 : 1~31일)

데이터의 값을 검증하는 부분은 중요하다. substring()메소드를 통해서 변수를 만들어 주고,

스트링타입의 변수를 Integer.parseInt()를 통해서 int타입으로 형변환을 해주어 이프문으로 데이터가 1~12월까지 맞는지 확인한다. 그리고 일자도 같은 방식으로 데이터 값 검증을 한다. 

그리고 콘솔창에 출력을 한다. 

데이터의 값 검증은 중요하기에 항상 데이터 값이 정확히 있는 확인해야 한다.