강의

멘토링

로드맵

Inflearn Community Q&A

dongjun5693901's profile image
dongjun5693901

asked

Kim Young-han's Java Tutorial - Your First Step into Java with Code

Problems and Solutions 4

ScannerWhileEx3번 문제 변수선언

Written on

·

274

0


[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
이렇게 코드를 작성하여 문제를 풀었습니다.

처음에 생각했을때는

int sum = 0, count = 0;

이 변수가 while문 안에서 활용되고 마무리까지 된다고 생각해서 while문 안에도 쓸수있다고 생각했는데

while (true) {
    int sum = 0, count = 0;
    int num = sc.nextInt();
    if (num == -1) {
        System.out.println("입력한 숫자들의 합계 : " + sum);
        System.out.println("입력한 숫자들의 평균 : " + (double)sum/count);
        break;
    }
    sum = sum + num;
    count++;

}

이렇게 되면 합계는 0, 평균은 NaN 이렇게 나와서

처음 사진처럼 변수위치를 바꿔주니까 답이 제대로 나옵니다.

어떤 부분이 잘못됐을까요...??ㅠㅠ

java객체지향

Quiz

자바에서 Scanner 클래스를 사용하려면 일반적으로 무엇이 필요할까요?

새로운 클래스 생성

System.out 사용

import 문 추가

Scanner 객체 닫기

Answer 1

0

안녕하세요. dong님, 공식 서포터즈 OMG입니다.

직접 작성하신 후자의 코드의 경우 while 반복문 시작에 sum 과count를 0으로 초기화 하고 있습니다.

즉, 반복문이 매번 시작될 때 마다 0으로 초기화되며, 값의 누적을 할 수가 없는 구조입니다.

이부분을 고려하여 다시한번 생각해보시면 좋을 것 같아요.

감사합니다.

dong님의 프로필 이미지
dong
Questioner

감사합니다

dongjun5693901's profile image
dongjun5693901

asked

Ask a question