Java 기초 배열 - 연습문제(5)
728x90
기본 환경
JDK : 1.8.0_261 버전 JRE : 1.8.0_261 버전 JAVA VERSION : 8 업데이트 261 Eclipse IDE VERSION : 2020-06버전 |
시나리오
arr 배열에 {1, 2, 3, 4}, {5, 6, 7}, {8, 9} 배열을 초기화 한 후 각 값을 2씩 증가시키는 프로그램을 만드시오.
여기서 arrPrint()함수로 배열을 출력하고 addOneArr()함수로 값을 증가시키고
addTwoArr()함수로 addOneArr()함수를 호출하시오.
(단, addTwoArr()함수에는 매개변수로 이차원 배열과 증가시킬 값,
addOneArr()함수에는 매개변수로 일차원 배열과 증가시킬 값을 받는다.)
다음과 같은 결과가 나와야 합니다.
정답
package ex06array;
class QuTwoDimArray
{
//문제에서 제시한 내용
public static void addOneArr(int[] arr, int add)
{
//가로에 대한 반복
for(int i=0; i<arr.length; i++){
arr[i] += add;
}
}
//addOneArr() 메소드를 기반으로 2차원 배열을 증가시키는 메소드
public static void addTwoArr(int[][] arr, int add)
{
for(int i = 0; i < arr.length; i ++) {
addOneArr(arr[i], add);
}
}
public static void main(String[] args){
//배열선언 : 비어있는 부분은 null로 초기화 된다.
int[][] arr = {
{1, 2, 3, 4},
{5, 6, 7},
{8, 9}
};
//값 증가전 출력
arrPrint(arr);
//2만큼 증가시키는 메소드 호출
addTwoArr(arr, 2);
System.out.println();
//증가후 출력
arrPrint(arr);
}
//2차원 배열을 출력하기 위한 메소드
static void arrPrint(int[][] arr) {
for(int i = 0; i < arr.length; i ++) {
for(int j = 0; j <arr[i].length; j++) {
System.out.printf("%d ", arr[i][j]);
}
System.out.println();
}
}
}
문제의 조건도 좀 이상하고 코드도 좀 이상합니다. 이차원 배열을 매개변수로 일차원배열로 받을 수도 있다는 것을 경험하기 위해 풀어본 문제입니다.
'Java > Java_기초부터 _끝까지' 카테고리의 다른 글
Java 기초 String (0) | 2020.10.27 |
---|---|
Java 기초 배열 - 연습문제(6) (0) | 2020.10.26 |
Java 기초 배열 - 연습문제(4) (0) | 2020.10.26 |
Java 기초 배열 - 연습문제(3) (0) | 2020.10.26 |
Java 기초 배열 - 연습문제(2) (0) | 2020.10.26 |