[JAVA] 2차원 배열 문제풀이

JoJo·2023년 6월 29일
0
post-custom-banner

💡 문제1.

아래와 같은 모양의 2차원 배열을 만들어라.

✔️ 소스코드

**[첫번째 코드]**
public void exercise1()
{
	int [][] arrs = new int [5][5];
	int k = 1;
	
	// 입력
	for(int i = 0; i < arrs.length; i++) {
		for(int j = arrs.length-1; j >= 0; j--) {
			arrs[i][j] = k;
			k++;
		}
	}
	
	// 출력
	for(int i = 0; i < arrs.length; i++) {
		for(int j = 0; j < arrs.length; j++) {
			System.out.printf("%2d", arrs[i][j]);
			System.out.print(" ");
		}
		System.out.println();
	}
}

========================================
    
**[두번째 코드]**

public void exercise2()
{
	int [][] arrs = new int [5][5];
	int k = 1;
	
	// 입력
	for(int j = 0; j <arrs.length; j++) {
		for(int h = arrs.length-1; h >= 0; h--) {
			arrs[h][j] = k;
			k++;
		}
	}
	
	// 출력
	for(int i = 0; i < arrs.length; i++) {
		for(int j = 0; j < arrs.length; j++) {
			System.out.printf("%2d", arrs[i][j]);
			System.out.print(" ");
		}
		System.out.println();
	}
}

========================================
 
 **[세번째 코드]**
 
 public void exercise3()
{
	int [][] arrs = new int [5][5];
	int k = 1;
	
	// 입력
	for(int h = 0; h < arrs.length; h++) {
		for(int s = 0; s < arrs.length; s++) {
			arrs[s][h] = k;
			k++;
		}
	}
	
	
	// 출력
	for(int i = 0; i < arrs.length; i++) {
		for(int j = 0; j < arrs.length; j++) {
			System.out.printf("%2d", arrs[i][j]);
			System.out.print(" ");
		}
		System.out.println();
	}
}

========================================

[네번째 코드]

public void exercise4()
{
	int [][] arrs = new int [5][5];
	int k = 1;
	
	// 입력
	for(int s = 0; s < 5; s++) {
		if(s % 2 == 0) {
			for(int m = 0; m < 5; m++) {
				arrs[s][m] = k;
				k++;
			}			
		} else {
			for(int m = 4; m >=0; m--) {
				arrs[s][m] = k;
				k++;
			}
		}
	}
	
	// 출력
	for(int i = 0; i < arrs.length; i++) {
		for(int j = 0; j < arrs.length; j++) {
			System.out.printf("%2d", arrs[i][j]);
			System.out.print(" ");
		}
		System.out.println();
	}
}

 

💡 문제2.

2차원 배열에 학년별로 1,2학기 성적으로 저장하고 4년간 전체 평점 평균을 출력하라.
학점 : (3.3 3.4), (3.5 3.6) (3.7 4.0), (4.1 4.2)

✔️ 소스코드

public void exercise5()
{
	// 2차원 배열에 학년별로 1,2학기 성적으로 저장하고
	// 4년간 전체 평점 평균을 출력하라.
	// (3.3 3.4), (3.5 3.6) (3.7 4.0), (4.1 4.2)
	
	// 배열 초기화
	double [][] score = {{3.3, 3.4}, {3.5, 3.6}, {3.7, 4.0}, {4.1, 4.2}};
	
	// 배열 초기화 다른 방법
//		score[0][0] = 3.3;
//		score[0][1] = 3.4;
//		
//		score[1][0] = 3.5;
//		score[1][1] = 3.6;
//		
//		score[2][0] = 3.7;
//		score[2][1] = 3.0;
//		
//		score[3][0] = 4.1;
//		score[3][1] = 4.2;
	
	// 합을 구할 변수 선언
	double sum = 0;
	
	for(int k = 0; k < score.length; k++) {
		for(int h = 0; h < score[k].length; h++) {
//				System.out.printf("%2.1f", score[k][h]);
//				System.out.print(" ");
			sum += score[k][h];
		}
		System.out.println();
	}
	int frontLength = score.length;
	int backLength = score[0].length;
	double result = sum / (frontLength * backLength);
	System.out.printf("4년 전체 평점 평균은 : %.2f\n",result);
	// 이렇게 출력도 가능하다.
	// System.out.println("4년 전체 평점 평균은 : " + result);
}
profile
꾸준히
post-custom-banner

0개의 댓글