주민등록번호 유효성 검사 수식
소스코드
public class Rrn {
public static void main(String[] args) {
String rrn = "990112-1411001";
int [] temp = {2, 3, 4, 5, 6, 7, 0, 8, 9, 2, 3, 4, 5}; //각 자리 곱할 값
int sum = 0;
for (int i = 0; i < 13; i++) {
if( i == 6) continue; // '-'을 빼기 위해 배제
sum += temp[i] * Integer.parseInt(rrn.substring(i,i+1));
} //각 자리 곱셈의 합
int total = 11 - sum % 11; // 11로 나누고 -11 처리
if(total == 10 ) total = 0;
if(total == 11 ) total = 1;
if ( total == Integer.parseInt( rrn.substring(13))) {
System.out.println("정확한 주민번호입니다.");
} else System.out.println("잘못된 주민번호입니다.");
} //main
} //class
반응형
'Backend > JAVA' 카테고리의 다른 글
[JAVA] 2차원 배열을 1차원 배열로 변환 (0) | 2021.09.12 |
---|---|
[JAVA] 배열 - 배열의 크기를 증가 시키고 요소 삽입 (0) | 2021.09.03 |
[JAVA] 함수 (메서드)란? (0) | 2021.08.30 |
[JAVA] 구구단 출력 (for문) (0) | 2021.08.30 |
[JAVA] 다이아몬드 별찍기 (for문) (0) | 2021.08.27 |