오류, 기능, 문제해결(JAVA)

scanner에서 무한 while 중단 조건 간략화

seungmin576 2024. 12. 27. 13:50

숫자들을 입력하면 입력한 숫자들의 총합과 평균을 구해주는 간단한 예제

package scannerex;

import java.util.Scanner;

public class Dong {
    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++;
//        }

        while((input = sc.nextInt()) != -1){
            sum += input;
            count++;
        }

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

위 코드에서 조건 부분이

while (true){
            input = sc.nextInt();
            if(input == -1) {
                break;
            }
            sum += input;
            count++;
        }

여기에 while문 안에 중단 조건이 if(input == -1) 인데 이거를

 

while((input = sc.nextInt()) != -1){
            sum += input;
            count++;
        }

처음처럼 길게 쓸 필요없이 간략히 나타낼 수 있다.