코딩항해기

[실습/JAVA] 입력받은 정수 총합, 평균 구하기 본문

problem solving/과제&실습 코딩

[실습/JAVA] 입력받은 정수 총합, 평균 구하기

miniBcake 2024. 6. 25. 17:50

 

[문제]

정수를 3개 입력받아주세요.
총합과 평균 출력, 평균은 소수점까지 출력

 

[예시]
10 11 11
총합 = 32
평균 = 10.666667 >> 평균 = 10

package class05;

import java.util.Scanner;

public class Test06 {
//	정수를 3개 입력받아주세요.
//	총합과 평균 출력, 평균은 소수점까지 출력
//	10 11 11
//	총합 = 32
//	평균 = 10.666667 >> 평균 = 10
	
	public static void main(String[] args) {
		/*
		 * 반복횟수를 정하는 변수 = 3
		 * 정수 3개 입력받기
		 * 총합 변수에 정수 3개 더해 넣기
		 * 평균점수에 정수 3개 더해 넣고 실수 3.0으로 나누기
		 * 평균 내림한 값 저장해서 출력하기
		 * 출력하기
		 */
		
		Scanner sc = new Scanner(System.in);
		System.out.println("입력받은 정수들의 합과 평균을 구하는 프로그램입니다.");
		
		int repeat = 3; //입력받는 정수 개수 , 반복 횟수
		int[] arrayNum = new int[repeat]; //입력받은 값을 저장하는 배열
		int sum = 0; //총합변수
		double avg; //평균변수
		int avgFloor; //소수점 첫째자리에서 내림한 평균값
		
		System.out.println(repeat + "개의 정수를 입력해주세요.");
		
		for(int i = 0; i < repeat; i++) { //입력값받기
			System.out.print("정수 " + (i + 1) + " 입력 >> ");
			arrayNum[i] = sc.nextInt();
		}
		
		for(int num : arrayNum) { //총합구하기
			sum += num;
		}
		
		avg = sum / (double) arrayNum.length; //평균값 구하기
		avgFloor = (int) Math.floor(avg);
		
//		System.out.println("sum"+sum);//확인
//		System.out.println("avg"+avg);//확인
		
		System.out.printf("총 합은 %d, 평균은 %f입니다. 소수점 첫째 자리에서 내림한 값은 %d입니다.", sum, avg, avgFloor);
		
		
	}

}

 

[console]
입력받은 정수들의 합과 평균을 구하는 프로그램입니다.
3개의 정수를 입력해주세요.
정수 1 입력 >> 10
정수 2 입력 >> 11
정수 3 입력 >> 11
총 합은 32, 평균은 10.666667입니다. 소수점 첫째 자리에서 내림한 값은 10입니다.

 

문제에 있는 내용은 아니지만,

후에 입력받는 정수의 개수도 입력받는 방식으로 변경될 가능성을 고려해 repeat 변수를 만들어 반복문을 사용했다.

(하드코딩 방지)

만약 그렇게 변경하게 된다면 사용자에게 입력받은 값을 repeat 변수에 저장해주기만 하면 된다.