우당탕탕 개발 블로그 도전기

[JAVA] Charater Class, Integer 클래스를 이용해 주민 번호의 합을 구하는 문제 본문

Java

[JAVA] Charater Class, Integer 클래스를 이용해 주민 번호의 합을 구하는 문제

나루나른 2024. 3. 21. 14:40

문제) 주민번호의 각 숫자의 합을 구하시오(입력받은 문자열 : "8912301234567")

결과값 : 8+9+1+2+3+0+1+2+3+4+5+6+7의 총합

String jumin = "8912301234567" //주민번호가 문자열 형태로 문자열 jumin 변수에 저장됨

//1) Character 클래스
int sum = 0; 	//각 숫자를 더한 합계를 저장할 변수 'sum'의 초기 값을 0으로 설정
for(int i=0; i<jumin.length(); i++) {      //for반복문으로 jumin 문자열의 각 문자에 대해 반복함
					  //i는 0번째 인덱스부터 시작해서 jumin 문자열의 길이보다 작을 때까지 반복함
   char ch = jumin.charAt(i); 		  //charAt() 메소드를 통해 현재 인덱스 i에 해당하는 문자들을 추출하여 ch 변수에 저장
	sum = sum + Character.getNumericValue(ch); //getNumericValue()를 통해서 추출한 문자를 숫자값으로 변환함. 
    					// 문자 '8' -> 숫자 8로 변환하는 작업, 값을 현재까지의 합계에 더해 sum변수를 업데이트함
}		
System.out.println(sum); //최종 결과값 : 51 출력
		
//2) Integer 클래스
int hap = 0;	//합계를 저장할 변수 hap의 값을 0으로 초기화시킴
for(int i=0; i<jumin.length(); i++) { //인덱스 [0]부터 jumin의 길이보다 작을 때까지 각 문자를 반복함
									//문자열의 처음부터 끝까지 각문자를 순회한다.
	
    hap = hap + Integer.parseInt(jumin.substring(i, i+1)); //i번째에서 i+1번째까지의 문자들을 추출
}						          //ex) i=0, jumin의 첫번째 문자를 문자열 형태로 추출함
							 //parseInt()를 통해 추출한 문자를 정수로 변환한다.
	
    System.out.println(hap); //최종 결과값 : 51 출력