2차원 배열은 1차원 배열에서 대괄호 하나를 더 추가한다.
주로 테이블(표)형태의 데이터를 담을 때 사용한다.
[ ] 1차원 >for
[행][열] 2차원 >이중 for
선언 및 생성
int[ ][ ] score = new int[2][4];
초기화
int[ ][ ] score= {{70, 80, 90}, {80, 90, 100}};
new int 를 생략하고 배열 선언, 생성 및 초기화
public class ArrEx14 {
public static void main(String[] args) {
int[][] score = { { 100, 100, 100 },
{ 20, 20, 20 },
{ 30, 30, 30 },
{ 40, 40, 40 },
{ 50, 50, 50 }
};
// 과목별 총점
int korTotal = 0;
int engTotal = 0;
int mathTotal = 0;
System.out.println("번호 국어 영어 수학 총점 평균");
System.out.println("===============================");
for (int i = 0; i < score.length; i++) {
int sum = 0;
double avg = 0.0;
korTotal += score[i][0];
engTotal += score[i][1];
mathTotal += score[i][2];
System.out.printf("%3d", i + 1);// %3d는 세자리 십진수 출력형태,
// 오른쪽 정렬이 기본이고 빈자리는 공백으로 표시
for (int j = 0; j < score[i].length; j++) {
sum += score[i][j];
System.out.printf("%5d", score[i][j]);
}
avg=sum/(double)score[i].length;//int/double->double/double이 된다.
// 결국 평균은 몫과 나머지를 함께 구함.
System.out.printf("%5d %5.1f %n", sum, avg);
//%f는 십진수 실수 출력형태,
//전체 자리수는 5자리이고 소수점 첫째 자리까지 표현 =>%5.1f
}//outer for
System.out.println("===============================");
System.out.printf("총점: %3d %4d %4d\n", korTotal, engTotal, mathTotal);
}
}
실행 결과
더보기
번호 국어 영어 수학 총점 평균
===============================
1 100 100 100 300 100.0
2 20 20 20 60 20.0
3 30 30 30 90 30.0
4 40 40 40 120 40.0
5 50 50 50 150 50.0
===============================
총점: 240 240 240
출력
System.out.println(Arrays.toString(strs)); //1차원 배열
System.out.println(Arrays.deepToString(strs)); //2차원 배열부터 ...
'language > Java' 카테고리의 다른 글
ArrayList_List Collection (0) | 2022.06.23 |
---|---|
[응용 예제] Bingo (0) | 2022.06.21 |
배열(Array) (0) | 2022.05.30 |
do ~ while (0) | 2022.05.29 |
반복문 (while) (0) | 2022.05.29 |