인사이트
[JAVA] int배열의 합과 평균 구하기 본문
아래는 내가 짜봤던 코드이고 다음과 같은 걸 구하는 코드이다
1. 합계
2. 평균(셋째 자리에서 버리고 둘째자리까지 나타내기)
3. 평균(셋째 자리에서 반올림해서 둘째자리까지 나타내기)
// 합계, 평균 계산 방법 1
int[] score = { 98, 78, 87 };
int totalSum = 0;
double avgD = 0.0;
int avgI = 0;
for (int i = 0; i < score.length; i++) {
totalSum += score[i];
}
System.out.println("총점은 " + totalSum);
avgD = (double) totalSum / score.length;
System.out.println("평균은 " + avgD);
avgI = totalSum / score.length;
double avgCon = (avgD * 100); // 87.6666666
int result = (int) avgCon % 100;// 66
System.out.println("평균 소수 둘째자리까지(버림) : " + avgI + "." + result); // 버림
int lastNum = 0;
for (int i = 0; i < 3; i++) {
int roundAvg = (int) avgCon % 10;
lastNum = roundAvg;
}
int lastResult = 0;
if (lastNum >= 5) {
lastResult = result + 1;
} else {
lastResult = result;
}
System.out.println("평균 소수 둘째자리까지(반올림) : " + avgI + "." + lastResult); // 반올림
이거는 결과는 같지만 방식을 좀 달리 표현했는데 더 간결하고 좋은 것 같아서 올렸다
여기서 구한 건 다음과 같다
1. 합계
2. 평균(셋째 자리에서 반올림해서 둘째자리까지 나타내기)
* 0.5를 더한 게 너무 신선했다.
// 합계, 평균 계산 방법 2
int[] score = { 98, 78, 87 };
int total = 0;
double avg = 0.0;
for (int i = 0; i < score.length; i++) {
total += score[i];
}
System.out.println("총점은" + total + "입니다");
avg = (double) total / score.length;
avg = (int) (avg * 100 + 0.5) / 100.0; // 8766.6 + 0.5 = 8767
System.out.println("평균은" + avg + "입니다");
'JAVA' 카테고리의 다른 글
[JAVA] 클래스의 구성요소 (0) | 2021.06.03 |
---|---|
[JAVA] 향상된 for문 (0) | 2021.06.02 |
[JAVA] int배열 정렬 (오름차순, 내림차순) (0) | 2021.06.02 |
[JAVA] int값 뒤집기 (0) | 2021.06.02 |
[JAVA] 정리 1 (0) | 2021.05.31 |