본문 바로가기
CLASS/JAVA

#5-3 / 다차원 배열,return 메소드로 배열받기

by eungSe__ 2024. 5. 7.
다차원 배열
package oop;

import java.util.Arrays;

//다차원 배열
public class array8 {

	public static void main(String[] args) {
		String data[][][] = {
                    {
                        {"홍길동","강감찬","유관순","이순신","이산"},//0
                        {"일반","실버","골드","실버","일반"}//1
                    },//0
                    {
                        {"1500","2500","1000","2200","3000"},//0
                        {"5%","10%","20%","30%","40%"},
                        {"1","2","3","4","5"}
                    }//1
		};
		
		
		/*
		 응용문제
		 
		 해당 배열을 기준으로 다음 결과처럼 출력되도록 코드를 작성하시오.
		 홍길동 000
		 일반  010
		 1500 100
		 
		 강감찬
		 실버
		 2500
		 ..
		 
		 => 큰뭉탱이 5개-> 중간[0] 뭉탱이 2개 ->
		 */
		
		int gp = data[0].length; //2 : 중간뭉탱이[0] 그룹 갯수
		int gp_etc = data[1].length; //3 : 중간뭉탱이[1] 그룹 갯수
		int ea = data[0][0].length; //5 : 그룹 안의 데이터 갯수(제일작은뭉탱이 데이터 갯수)
		
		
		int w=0;
		while(w<ea){ //5
			int ww=0;
			while(ww<gp) { //2
				System.out.println(data[0][ww][w]);
				int www=0;
				
				ww++;
			}
			
			//별도그룹
			int www=0;
			while(www<gp_etc) { //3
				System.out.println(data[1][www][w]);
				
				www++;
			}
			
			
			w++;
		}
		
		
		
	}

}



-위 문제 + 내가 추가

String data[][][] = {
            {
                {"홍길동","강감찬","유관순","이순신","이산"},//0
                {"일반","실버","골드","실버","일반"}//1
            },//0
            {
                {"1500","2500","1000","2200","3000"},//0
                {"5%","10%","20%","30%","40%"},
                {"1","2","3","4","5"}
            }//1
            
            /* 홍길동 일반 1500 5% 1 이렇게 다섯개 출력되게 짜기*/
};

int all = data[0][0].length;

int f,ff,fff;
for(f=0; f<all; f++) {
    //System.out.println(data[0][1][f]);
    for(ff=0; ff<data.length; ff++) {
        for(fff=0; fff<data[ff].length; fff++) {
            System.out.println(data[ff][fff][f]);
        }
    }
}
⚡ return 메소드를 이용한 배열값 받기
package oop;

import java.util.Arrays;

public class array9 {
	public static void main(String[] args) {
		array9_box ar = new array9_box();
		int result[] = ar.point(); //1차배열 자료형 선언 후 반환된 배열값 적용
		System.out.println(Arrays.toString(result)); //출력
		
		String result2[] = ar.user();
		System.out.println(Arrays.toString(result2));
        
		//2차배열 return
		int recall[][] = ar.money();
		System.out.println(Arrays.deepToString(recall));
		//[[10, 20, 30, 40, 50], [100, 200, 300, 400, 500]] 출력
	}

}

class array9_box {
	public int[] point() { //숫자형 1차배열 return 메소드
		int adata[] = {10,20,30,40,50};
		return adata; //배열값을 반환
	}
	
	public String[] user() {
		String userlist[] = {"박세은","최한결","신희문","김단희"};
		return userlist; //배열값을 반환
	}
    
    //2차배열 return 메소드
	public int[][] money(){
		int data[][] = {
				{10,20,30,40,50},
				{100,200,300,400,500}
		};
		
		return data;
	}
	
}

 

'CLASS > JAVA' 카테고리의 다른 글

#6-2 / class배열(ArrayList)  (0) 2024.05.08
#6-1 / 데이터 반환,외부 원시배열 데이터 반환  (0) 2024.05.08
#5-2 / 2차 원시 배열  (0) 2024.05.07
#5-1 / 1차 원시 배열  (0) 2024.05.07
#4-3 / Method  (0) 2024.05.03