728x90
반응형
public class ArrayCopy04 {
public static void main(String[] args) {
int arr[][] = {{80,20}, {40,50,10},{100,100,100,100,100}};
int sum=0;
int num=0;
double avg=0.0;
for(int i=0; i<arr.length; i++) {
int[] inArr = arr[i];
for(int j=0; j<inArr.length; j++) {
System.out.print(inArr[j] + " ");
sum = sum + inArr[j];
num++;
}
System.out.println();
}
System.out.println();
avg = (double)sum/num;
System.out.println("배열의 합 : " + sum);
System.out.println("배열요소 갯수 : " + num);
System.out.println("배열의 평균 : " + avg);
}
}
double avg=0.0;를 통해 avg를 이미 double로 선언하였는데, 왜 avg = (double)sum/num; 에서 형변환을 해주어야할까?
sum과 num이 모두 int이기 때문이다. 소수점 아래를 입력할 수 있게끔 형변환이 필요하다.
728x90
반응형
'DEV > JAVA' 카테고리의 다른 글
[JAVA] Array의 역순재배치 (0) | 2022.10.06 |
---|---|
[JAVA] Array 객체의 정보 출력 (0) | 2022.10.06 |
[Java] System.arraycopy (0) | 2022.10.06 |
[Java] 학생 성적 프로그램 (0) | 2022.10.06 |
[JAVA] 입출금 프로그램 (0) | 2022.10.06 |
댓글