인프런 커뮤니티 질문&답변

hjy648012님의 프로필 이미지
hjy648012

작성한 질문수

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

문제와 풀이4

ScannerWhileEx4 문제

작성

·

337

·

수정됨

0

제목 없음.png 

int totalCost = 0; 을 왜 while문 안에 쓰면 안 되고(제가 주석 달아 놓은 부분) while문 밖에 써야 하나요?

while문 안에 썼을 때 총 비용이 0으로 나오는 오류가 발생했는데 왜 그런 오류가 발생한 건지 모르겠습니다.

답변 2

2

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

while문 내에 totalCost를 정의하게 되면 상품 입력, 결제, 프로그램 종료를 선택한 다음에 totalCost를 0으로 초기화하기 때문입니다.

입력된 모든 상품의 총 금액을 상품 입력, 결제, 프로그램 종료를 선택하는 것과 무관하게 계속 저장하고 싶다면 매번 초기화 되지 않는 영역(여기서는 while문 바깥)에 totalCost를 정의하고 이를 while문 내에서 상품 금액을 더하는 용도로만 사용하여야 합니다.

감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다.

‘while문 안에 변수를 선언했을 때 발생하는 문제’에 대한 질문은 아래 링크에서 유사한 상황에 대한 답변을 확인하실 수 있습니다. 강의 중에서도 비슷한 내용이 다루어진 바 있으니, 해당 내용을 참고하시면 궁금증이 해결될 것입니다.

해당 링크의 답변을 확인하시면 왜 totalCostwhile문 밖에 선언해야 하는지에 대한 이해를 돕는 설명을 찾을 수 있을 것입니다.

hjy648012님의 프로필 이미지
hjy648012

작성한 질문수

질문하기