전산 관련 시험/프로그래밍(C, JAVA, Python)
[JAVA] 프로그래밍 언어 (ex.18)
응_비
2024. 10. 6. 18:15
public class Example18 {
static void change(char arr[]) {
for(int i = 0; i < arr.length; i++) {
if(arr[i] == 'b')
arr[i] = 'c'; // 배열의 요소가 'b'인 경우 'c'로 변경
else if(i == arr.length - 1)
arr[i] = arr[i - 1]; // 배열의 마지막 요소인 경우 바로 앞의 요소 값으로 변경
else
arr[i] = arr[i + 1]; // 그 외의 경우 다음 인덱스의 값으로 변경
}
}
static void prtarr(char arr[]) {
for(int i = 0; i < arr.length; i++) {
System.out.print(arr[i]); // 배열의 모든 요소를 출력
}
}
public static void main(String[] args) {
char[] a = {'a', 'b', 'c', 'b', 'c', 'd', 'a'}; // 초기 배열 선언 및 초기화
change(a); // change 메서드를 호출하여 배열을 수정
prtarr(a); // prtarr 메서드를 호출하여 수정된 배열 출력
}
}
- 초기 배열:
- 배열 a는 다음과 같이 초기화됩니다: ['a', 'b', 'c', 'b', 'c', 'd', 'a'].
-
javachar[] a = {'a', 'b', 'c', 'b', 'c', 'd', 'a'};
- change 메서드 실행:
- 배열의 각 요소에 대해 다음 조건에 따라 변경합니다:
javaif(arr[i] == 'b') arr[i] = 'c'; // 요소가 'b'인 경우 'c'로 변경- 배열의 요소가 'b'인 경우 이를 'c'로 변경합니다.
javaelse if(i == arr.length - 1) arr[i] = arr[i - 1];- 배열의 마지막 요소인 경우, 즉 인덱스 i가 배열의 길이보다 1 작은 값일 때(i == arr.length - 1), 해당 요소를 바로 앞 요소의 값으로 변경합니다.
javaelse arr[i] = arr[i + 1];- 위 두 조건에 해당하지 않으면, 현재 요소를 다음 인덱스의 값으로 변경합니다.
- change 메서드의 실행 결과:
- 각 반복에서 배열의 요소는 다음과 같이 변경됩니다:
- i = 0: 'a'는 다음 요소 'b'로 변경됩니다.
결과: ['b', 'b', 'c', 'b', 'c', 'd', 'a'] - i = 1: 'b'는 'c'로 변경됩니다.
결과: ['b', 'c', 'c', 'b', 'c', 'd', 'a'] - i = 2: 'c'는 다음 요소 'b'로 변경됩니다.
결과: ['b', 'c', 'b', 'b', 'c', 'd', 'a'] - i = 3: 'b'는 'c'로 변경됩니다.
결과: ['b', 'c', 'b', 'c', 'c', 'd', 'a'] - i = 4: 'c'는 다음 요소 'd'로 변경됩니다.
결과: ['b', 'c', 'b', 'c', 'd', 'd', 'a'] - i = 5: 'd'는 다음 요소 'a'로 변경됩니다.
결과: ['b', 'c', 'b', 'c', 'd', 'a', 'a'] - i = 6: 인덱스 6은 배열의 마지막 요소이므로, 해당 요소를 바로 앞 요소의 값으로 변경합니다.
결과: ['b', 'c', 'b', 'c', 'd', 'a', 'a']
- prtarr 메서드 실행:
- 배열의 모든 요소를 출력합니다.
- 결과적으로 "bcbcdaa"`가 출력됩니다.
최종 출력 결과
bcbcd`aa
요약
- change 메서드는 배열의 각 요소를 조건에 맞게 변경합니다.
- 최종 배열은 ['b', 'c', 'b', 'c', 'd', 'a', 'a']가 됩니다.
- prtarr 메서드는 이 배열을 그대로 출력합니다.