JAVA/풀어봅시다 (eclipse)
[JAVA] 시저 암호
샛별KIM
2021. 5. 26. 10:36
알파벳 소문자와 번호를 입력하면
알파벳 소문자를 대문자로 바꾼 후 알파벳 순서 뒤로 입력한 번호만큼 이동하여 출력
단, 알파벳에 번호를 더한 값이 Z를 넘어가면 다시 A부터 시작한다.
import java.util.Arrays;
import java.util.Scanner;
public class Array05 {
public static void main(String[] args) {
// 사용자 입력
Scanner sc = new Scanner(System.in);
System.out.println("암호화 할 문자를 입력하세요.");
String input = sc.next();
System.out.println("몇 칸 이동할까요? 숫자를 입력하세요.");
int num = sc.nextInt();
// 문자열 대문자로 -> 캐릭터 배열로 만들기
char[] inputArray = input.toCharArray(); // 캐릭터 배열 만들기
// 또는?
for (int i = 0; i < inputArray.length; i++) {
inputArray[i] = input.charAt(i);
}
// 문자열 대문자로 만들기
for (int i = 0; i < inputArray.length; i++) {
// 대문자 만들기
inputArray[i] = Character.toUpperCase(inputArray[i]);
// 정해진 숫자만큼 밀기
if (inputArray[i] + num > 'Z') {
inputArray[i] = (char) (inputArray[i] + num - 26);
} else {
inputArray[i] = (char) (inputArray[i] + num);
}
}
System.out.println("암호화된 문자는 ");
System.out.println(Arrays.toString(inputArray));
}
}
//////출력
암호화 할 문자를 입력하세요.
az
몇 칸 이동할까요? 숫자를 입력하세요.
1
암호화된 문자는
[B, A]