본문 바로가기

Study/Programming

자바 주민등록번호 체크

반응형


/*
  8  0  0  1  0  1  -  1  2  3  4  5  6  7
검사    *2 *3 *4 *5 *6 *7    *8 *9 *2 *3 *4 *5 Checkbit

  A = Sum % 11
  B = 11 - A
  C = B % 10
  C == Checkbit
*/

public class Idnumber{
 public static void main(String[] args){
  String jumin = "830316-1234567";
  String str = jumin.substring(0,6) + jumin.substring(7,jumin.length()); // -를 제외한 부분만 추출
  char[] ch = new char[13];
  int sum=0;
  //계산 부분
  for(int i=0; i<str.length(); i++){
   ch[i] = str.charAt(i);
   
   if(i<=7)
    sum += ((int)ch[i]-48) * (i+2);
   else if(i>=8 && i<=11)
    sum += ((int)ch[i]-48) * (i-6);
  }     
 
  int step1 = sum % 11;
  int step2 = 11 - step1;
  int step3 = step2 % 10;

  int checkbit = (int)ch[12]-48;
  if(step3 == checkbit)
   System.out.println("올바른 주민등록번호입니다.");
  else
   System.out.println("주민등록번호가 틀렸습니다.");

 }
}

반응형

'Study > Programming' 카테고리의 다른 글

CSS  (0) 2009.05.12
HTML2  (0) 2009.05.11
HTML  (0) 2009.05.08
자바 Generic #1  (0) 2009.04.29
자바 Calendar  (0) 2009.04.28