도라에몽 개발자

문자와 숫자로 이루어진 암호화 프로그램 본문

ALGORITHM/자바의 정석(연습문제)

문자와 숫자로 이루어진 암호화 프로그램

Doraemon_lulu 2024. 1. 7. 16:53

문자타입 요소로 이루어진 배열 abcCode와 numCode를 활용하여 특정 문자열 src를 암호화한 결과를 result에 저장하여 출력하고자 함.   

package ex;

public class ex_05_sum {
	public static void main(String[] args) {
		char[] abcCode = 
			{ '`', '~', '!', '@', '#', '$', '%', '^', '&', '*', 
				'(', ')', '-', '_', '+', '=', '|', '[', ']', '{',
				'}', ';', ':', ',', '.', '/' };
		char[] numCode = { 'q','w','e','r','t','y','u','i','o','p' };
		
		String src = "abc123";
		String result = "";
		
		for (int i = 0; i < src.length(); i++) {
			char ch = src.charAt(i);
			
			if ('a' <= ch && ch <= 'z') {
				result += abcCode[ch - 'a']; // 'a' = 97 (유니코드)
			} else if('0' <= ch && ch <= '9')  {
				result += numCode[ch - '0']; // '0' = 48 (유니코드)  
			}
		}
		
		System.out.println("src = " + src);
		System.out.println("result = " + result);
	}
}

문자의 유니코드 값을 참고하여 조건문에 적용하도록 함. 

- abc와 같은 문자 데이터의 경우, 97, 98, 99 라는 유니코드로 변환됨에 따라 index를 [ch - 'a']로 표현해야 함. 
- 123과 같은 문자 데이터의 경우, 48, 49, 50 라는 유니코드로 변환됨에 따라 index를 [ch - '0']로 표현해야 함.

▼ 콘솔창 출력 결과

암호화 프로그램