6.6.2 다차원 배열과 Jagged 배열
출간일 2016년 11월 28일
판매가 2000원
형태 ebook
이 책의 모든 내용은 http://ehpub.co.kr에 공개하고 있습니다.
학습에 도움이 되시면 ebook을 구입하여 소장하시면 감사하겠습니다.
언제나 휴일 출판사의 수익금의 대부분은 아프리카에 기부하고 있습니다.
Java 언어에서는 다차원 배열과 Jagged 배열을 제공합니다. 둘 다 모두 배열을 원소로 하는 배열이라는 점에서는 같지만 다차원 배열은 원소 배열의 원소 개수가 같고 Jagged 배열은 원소 배열의 원소 개수가 다릅니다.
다차원 배열은 배열을 생성할 때 원소 배열의 구조를 명확하게 명시합니다. 다음은 원소의 형식이 int이고 원소 개수가 10인 배열을 원소로 하고 원소 개수가 5인 이차원 배열을 선언한 예제입니다.
int[][] darray = new int[5][10];
다음은 n 개의 그룹 인원의 성적을 입력받아 출력하는 예제 코드입니다. 여기에서 각 그룹의 인원 수는 같습니다.
//이차원 배열 import java.util.Scanner; public class Program { static Scanner scanner = new Scanner(System.in); public static void main(String[] args){ int [][] darray;
int sn; System.out.println("한 그룹의 인원 수:"); sn = scanner.nextInt();
int n; System.out.println("그룹 수:"); n = scanner.nextInt();
darray = new int[n][sn];
for(int i=0;i<darray.length;i++){ for(int si=0;si<darray[i].length;si++){ System.out.print((i+1)+"그룹 "); System.out.println((si+1)+"번 성적:"); darray[i][si] = scanner.nextInt(); } }
for(int[] array: darray){ for(int item:array){ System.out.print(item+" "); } System.out.println(""); } } } |
한 그룹의 인원 수: 3 그룹 수: 2 1그룹 1번 성적: 10 1그룹 2번 성적: 20 1그룹 3번 성적: 30 2그룹 1번 성적: 40 2그룹 2번 성적: 50 2그룹 3번 성적: 60 10 20 30 40 50 60 |
[소스 6.30] 다차원 배열
Jagged 배열은 배열을 생성할 때 원소 배열의 원소 개수를 명시하지 않고 생성합니다. 그리고 각 원소에 원소 배열을 생성하여 설정합니다.
다음은 원소 개수가 3, 원소 개수가 2인 int 형식 배열이 원소인 jagged 배열을 선언 및 설정한 것입니다.
int[][] jarray = new int[2][];
jarray[0] = new int[3];
jarray[1] = new int[2];
다음은 n 개의 그룹 인원의 성적을 입력받아 출력하는 예제 코드입니다. 여기에서 각 그룹의 인원 수는 다릅니다.
//Jagged 배열 import java.util.Scanner; public class Program { static Scanner scanner = new Scanner(System.in); public static void main(String[] args){ int [][] jarray;
int n; System.out.println("그룹 수:"); n = scanner.nextInt();
jarray = new int[n][];
int sn; for(int i=0;i<jarray.length;i++){ System.out.println((i+1)+"번째 그룹 인원 수:"); sn = scanner.nextInt(); jarray[i] = new int[sn]; }
for(int i=0;i<jarray.length;i++){ for(int si=0;si<jarray[i].length;si++){ System.out.print((i+1)+"그룹 "); System.out.println((si+1)+"번 성적:"); jarray[i][si] = scanner.nextInt(); } }
for(int[] array: jarray){ for(int item:array){ System.out.print(item+" "); } System.out.println(""); } } } |
그룹 수: 2 1번째 그룹 인원 수: 3 2번째 그룹 인원 수: 2 1그룹 1번 성적: 10 1그룹 2번 성적: 20 1그룹 3번 성적: 30 2그룹 1번 성적: 40 2그룹 2번 성적: 50 10 20 30 40 50 |
[소스 6.31] Jagged 배열
'언어 자료구조 알고리즘 > 디딤돌 Java 언어 Part1' 카테고리의 다른 글
[Java] 6.6.1 배열과 반복문 (0) | 2016.11.23 |
---|---|
[Java] 6.6 배열 (0) | 2016.11.23 |
[Java] 6.5.2 Formatter 클래스 사용하여 포멧에 맞게 출력 (0) | 2016.11.21 |
[Java] 6.5 포멧터, 6.5.1 String 클래스의 정적 메서드 format (0) | 2016.11.21 |
[Java] 6. 4 기본 형식의 래퍼 클래스 (0) | 2016.11.20 |
[Java] 6.3.6 StringBuffer 개체에서 String 개체 얻기 (0) | 2016.11.20 |
[Java] 6.3.5 StringBuffer 클래스의 replace, reverse 멤버 메서드 (0) | 2016.11.20 |
[Java] 6.3.4 StringBuffer 클래스 insert 멤버 메서드로 원하는 위치에 추가 (0) | 2016.11.20 |
[Java] 6.3.3 StringBuffer 클래스 개체의 원하는 위치 문자 제거 (0) | 2016.11.20 |
[Java] 6.3.2 StringBuffer 클래스의 append 멤버 메서드 (0) | 2016.11.20 |