package work17;
public class four {
public static void main(String[] args) {
/*
[실행결과]
src:abc123
result :`~!wer
입력 받은 문자열을 암호화 하도록 코드를 업그레이드 한다.
*/
/*
다음은 알파벳과 숫자를 아래에 주어진 암호표로 암호화하는 프로그램이다.
(1)에 알맞은 코드를 넣어서 완성하시오.
a b c d e f g h i j k l m n o p q r s t u v w x y z
` ~ ! @ # $ % ^ & * ( ) - _ + = | [ ] { } ; : , . /
0 1 2 3 4 5 6 7 8 9
q w e r t y u i o p
*/
// abcdefghijklmnopqrstuvwxyz
char[] abcCode ={
'`','~','!','@','#','$','%','^','&','*',
'(',')','-','_','+','=','|','[',']','{',
'}',';',':',',','.','/'
};
// 0 ~ 9
char[] numCode = {'q','w','e','r','t','y','u','i','o','p'};
String src = "2034world34hwloe";
String result = "";
// 암호화
for (int i = 0; i < src.length(); i++) {
char c = src.charAt(i);
int asc = (int)c;
// 알파벳의 경우
if(asc >= 97 && asc <= 122) {
asc = asc - 97; // 'a' == 0
result = result + abcCode[asc];
}
// 숫자의 경우
if(asc >= 48 && asc<= 57) {
asc = asc - 48; // '0' == 0
result = result + numCode[asc];
}
}
System.out.println("원본코드:" + src);
System.out.println("암호화코드:" + result);
// 복호화
String base = "";
for (int j = 0; j < result.length(); j++) {
char c = result.charAt( j );
int asc = (int)c;
// 암호화된 숫자
int index = 0;
if(asc >= 97 && asc <= 122) { // a ~ z
for (int i = 0; i < numCode.length; i++) {
if(c == numCode[i]) {
index = i;
break;
}
}
index = index + 48;
base = base + (char)index;
}
else { // 암호화된 기호
for (int i = 0; i < abcCode.length; i++) {
if(c == abcCode[i]) {
index = i;
break;
}
}
index = index + 97;
base = base + (char)index;
}
}
System.out.println("복호화코드:" + base);
}
}
최근댓글