주어진 2차원 배열의 데이터보다 가로와 세로로 1이 더 큰 배열을 생성해서 배열의 행과 열의 마지막 요소에 각 열과 행의 총합을 저장하고 출력하는 프로그램이다. (1)에 알맞는 코드를 넣어서 완성하시오.
public class Practice5_11 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[][] score = {
{100, 100, 100}
,{20, 20, 20}
,{30, 30, 30}
,{40, 40, 40}
,{50, 50, 50}
};
int[][] result = new int[score.length+1][score[0].length+1];
for(int i = 0; i < score.length; i++) {
for(int j = 0; j < score[i].length;j++) {
for(int i = 0; i < result.length; i++) {
for(int j = 0; j < result[i].length;j++)
System.out.print(result[i][j]+"");
System.out.println();
}
}
}
[결과]
100 100 100 300
20 20 20 60
30 30 30 90
40 40 40 120
50 50 50 150
240 240 240 720
[풀이]
public class Practice5_11 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[][] score = {
{100, 100, 100}
,{20, 20, 20}
,{30, 30, 30}
,{40, 40, 40}
,{50, 50, 50}
};
int[][] result = new int[score.length+1][score[0].length+1];
int sum = 0; //임의로 추가한 것이기 때문에 없어도 됩니다. sum 쓰지 마시고 그냥 result[5][3]에 모두 더한 값을 넣어도 됩니다.
for(int i = 0; i < score.length; i++) {
for(int j = 0; j < score[i].length;j++) {
result[i][j] = score[i][j]; // score[] 배열에 있는 모든 수를 채워넣어줍니다.
sum +=score[i][j] ;}
}
for(int i = 0; i < score.length; i++) {
int tmp = 0;
for(int j = 0; j < score[i].length;j++)
{
tmp += score[i][j];
} //각 행들의 합입니다. 이들을 tmp에 저장해 놓고 그 값을 result에 넣었습니다.
result[i][3] = tmp;
}
for(int i = 0; i < score[i].length; i++) {
int tmp = 0;
for(int j = 0; j < score.length;j++)
{
tmp += score[j][i];
}//각 열들의 합입니다. j와 i를 반대로 함으로써 구할수있습니다.
result[5][i] = tmp;
}
result[5][3] = sum; // 마지막 result[5][3]의 값입니다. sum 없이 for문으로도 구할 수 있습니다.
for(int i = 0; i < result.length; i++) {
for(int j = 0; j < result[i].length;j++)
System.out.print(result[i][j]+"");
System.out.println();
}
}
}
'프로그래밍 언어 > JAVA' 카테고리의 다른 글
<Java> 자바의 정석 6장 7번 (인스턴스메서드 작성) (0) | 2021.07.04 |
---|---|
<Java> 자바의 정석6장 21번, 22번, 23번, 24번 (0) | 2021.07.02 |
<java>자바의 정석 6장 20번 (위치 바꾸기, method작성) (0) | 2021.07.02 |
자바의 정석 6장 6번 (getDistance(),Math.sqrt(), 두점 사이의 거리 구하기) (0) | 2021.07.02 |
자바의 정석 6장 1,2번 클래스 정의하기, info() (0) | 2021.07.02 |