char 타입 배열(chArr)에 A, b, 5, 공백, # 문자 5개를 지정
➡️반복문을 활용하여 각각의 문자에 대한 판별 수행하여 결과 출력 (대문자, 소문자, 숫자, 기타문자)
// chArr 배열 선언 및 초기화
char[] chArr = {'A', 'b', '5', ' ', '#'};
// for문, if문을 통해 결과 출력
for(char i=0;i<chArr.length;i++) {
if(Character.isUpperCase(chArr[i])) {
System.out.println(chArr[i] + " 대문자");
} else if(Character.isLowerCase(chArr[i])) {
System.out.println(chArr[i] + " 소문자");
} else if(Character.isDigit(chArr[i])) {
System.out.println(chArr[i] + " 숫자");
} else if(Character.isSpace(chArr[i])) {
System.out.println(chArr[i] + " 공백문자!");
} else {
System.out.println(chArr[i] + " 특수문자!");
}
}
문자열을 char[] 배열에 분리하여 저장 후 해당 문자열에 대한 간단한 암호화 작업
- 문자열을 분리하여 저장한 배열을 encrypt()에 전달
- 전달받은 배열의 문자에 대해 아스키코드 값 3만큼 증가한 문자를 별도의 배열에 저장한 후 문자열로 변환하여 리턴 ex) 'A'(65) => 'D'(68) ex) 'Hello'=> 'H','e','l','l','o' 형태로 배열에 저장됨 암호화 작업 결과물 : 'K', 'h', 'o', 'o', 'r' 리턴되는 데이터 : "Khoor"
// "admin123" 문자열 사용
String str = "admin123";
// => char[] chArr = {'a','d','m','i','n','1','2','3'};
// String 타입 문자열을 char 타입 배열로 변환 : toCharArray() 사용
char[] chArr = str.toCharArray();
// for(int i=0;i<chArr.length;i++ ) {
// System.out.println(chArr[i]+" ");
// }
String encryptResult = encrypt(chArr);
System.out.println("암호화 전 : " + Arrays.toString(chArr));
System.out.println("암호화 후 : " + encryptResult);
// => 암호화 후 : [d, g, p, l, q, 4, 5, 6] => dgplq456
} //main()
//encrypt() 메서드 정의
// => 인스턴스 생성없이 사용할 수 있도록 정의
public static String encrypt(char[] chArr) {
// => 암호화 작업 수행
// => 전달받은 배열 내의 모든 문자 값을 +3을 수행하여 새 배열에 저장한 후 문자열로 결합하여 리턴
// => 전달받은 배열의 크기를 새 배열의 크기로 지정
// (hint. new 키워드 사용, 배열의 크기는 기존 배열의 개수)
char[] encryptedArr = new char[chArr.length]; // 데이터 크기 정할 수 없기에 chArr의 length길이 리턴받으면됨
for(int i=0;i<chArr.length;i++ ) {
// 각 배열의 문자에 +3 수행한 결과를 새 배열에 저장
encryptedArr[i] = (char)(chArr[i] + 3);
}
문자열 형태로 출력하는 방법 3가지
- String 생성자 활용
String str = new String(encryptedArr);
return str;
- String.valueOf() 메서드 활용
String str = String.valueOf(encryptedArr);
return str;
- StringBuilder 활용
StringBuilder buffer = new StringBuilder();
for(char ch : encryptedArr) {
buffer.append(ch);
}
String encryptedStr = buffer.toString();
return encryptedStr;
}
'JAVA' 카테고리의 다른 글
[JAVA] java.lang.Math 클래스 (0) | 2023.10.24 |
---|---|
[JAVA] 패스워드 복잡도 검사 코드짜기 (0) | 2023.10.24 |
[JAVA] Wrapper 클래스의 다양한 메서드 활용 (0) | 2023.10.17 |
[JAVA] Wraaper클래스 기본 문법 규칙 (0) | 2023.10.17 |
[JAVA] Auto Boxing과 Auto Unboxing (0) | 2023.10.17 |