[JAVA] Scanner 연속된 입력숫자의 합과 평균을 나타내기.

Yeonbi_Kim·2024년 7월 9일
post-thumbnail

1. 수를 입력 받기.
2. '-1'를 입력할 때까지 계속 수를 받기**
3. 입력받은 수들의 갯수세기
4. 입력받은 수들의 합 구하기**
5. 입력받은 수들의 갯수를 통해 평균값 구하기.

package scanner_quiz;
import java.util.Scanner;
public class totalNaveragee {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int sum = 0;
        int count = 0;
        int input = 0;
        
        System.out.println("숫자를 입력하세요. 입력을 중단하려면 -1을 입력하세요: ");
        
        while(true){
            input = sc.nextInt();

            if(input == -1){
                break;
            }

            sum += input;
            count++;
        }
        double average =(double) sum / count;
        System.out.println("입력한 숫자들의 합계: " +sum);
        System.out.println("입력한 숫자들의 평균: " +average);
    }
}

1. Scanner import하기.

import java.util.Scanner;

2. public static void main(String[] args){} 쓰기

3. Scanner 생성하기


Scanner sc = new Scanner(System.in);

4.변수 선언과 초기화하기.

< 변수 선언과 초기화 >
변수 선언 (Variable Declaration):
프로그램에서 사용할 변수의 이름과 타입을 선언하는 것을 말해.
예를 들어, int sum;는 정수형 변수 sum을 선언하는 것이야.
변수 초기화 (Variable Initialization):
변수를 선언한 후에, 처음 값을 할당하는 것을 초기화라고 해.
예를 들어, sum = 0;는 변수 sum에 0이라는 값을 처음으로 할당하는 것이야.

        int sum = 0;
        int count = 0;
        int input = 0;

5. 숫자 입력창 문구 만들기

System.out.println("숫자를 입력하세요. 입력을 중단하려면 -1을 입력하세요: ");

6. while문으로 -1를 입력받을때 제외하고 계속 숫자 입력받기

-1일때만 프로그램이 종료되야 하므로 If문 사용.

(if문은 while안에)

while(true){
input = sc.nextInt();

if(input == -1){
break;
}
}

7. input으로 받은 값을 모두 더하기 (while 안에)

sum += input;

8. 입력한 수들의 갯수 세기.(while 안에)

count++는 입력된 숫자의 개수를 세기 위해 사용돼.
이 변수가 증가하지 않으면 나중에 평균을 계산할 때 count가 0으로 남아 있게 돼서 올바른 평균 값을 계산할 수 없어.

count는 입력된 숫자의 총 개수를 의미하므로, 정확한 평균을 구하기 위해 필수적인 변수야.

count++;

9. 평균을 만드는 변수 만들기

double average =(double) sum / count;
  • int들끼리 나누면 소수점이하의 값이 나올수 있으므로 모든 값을 출력하기 위해 (double)를 두 수 앞에 넣어서 '형변환'을 해준다

10. 평균값과 합을 출력해준다.

        System.out.println("입력한 숫자들의 합계: " +sum);
        System.out.println("입력한 숫자들의 평균: " +average);

0개의 댓글