반응형
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | package javaalgorithm; public class Caesar { String caesar(String s, int n) { StringBuffer sb = new StringBuffer(); char[] caesar = s.toCharArray(); for(char c : caesar){ if(c != ' '){ for(int i=0;i<n;i++){ c=(char)(c+1); if(!((c>='a' && c<='z')|| (c>='A' && c<='Z'))){ if(c>'Z' && c<'a') c=(char)(c-('Z'-'A'+1)); else if(c<'A') c=(char)(c+'Z'-'A'-1); else if(c>'z') c=(char)(c-('z'-'a'+1)); else if(c<'a') c=(char)(c+'z'-'a'-1); } } sb.append(c); } else sb.append(c); } return sb.toString(); } public static void main(String[] args) { Caesar c = new Caesar(); System.out.println("s는 'a B z', n은 4인 경우: " + c.caesar("a B z", 4)); } } | cs |
여러가지로 고민해 보다가 짠 소스이다.
String값에 +해서 넣으면 오래 걸린다고 하길래 요새는 StringBuffer를 이용해서 하는 방법으로만 코드를 짜보고 있다.
아직 자바에서 지원해 주는 유틸들을 잘 모르기 때문에 코드가 참 조잡해 보인다.
'자바' 카테고리의 다른 글
최대공약수 최소공배수 구하기 (0) | 2016.11.17 |
---|---|
가운데 글자 가져오기 (0) | 2016.11.17 |
나누어 떨어지는 숫자배열 (0) | 2016.11.14 |
문자열 내림차순으로 배치하기 (0) | 2016.11.14 |
삼각형 출력하기 (0) | 2016.11.14 |