inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

문제와 풀이4

ScannerWhileEx4 변수 질문

해결된 질문

315

텅텅빈머리속

작성한 질문수 1

1

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

[질문 내용]
안녕하세요 선생님 수업을 듣다 궁금한 사항이 생겨서 여쭈어봅니다. 위 사진은 제가 작성한 코드 입니다.

Q1 . 1번을 누르고 처음 내용을 입력하고 다시 1번을 눌러 새로운 정보를 입력 후 2번으로 합계를 보내면 따로 처음 total값과 두번째 total값을 더하는 식이 없고 누적시키는 로직도 작성을 하지 않아 정상적으로 작동이 되면 안될 것 같은데 정상적으로 합계가 나오고, 누적한 total 값이 자동으로 합산되는 이유가 궁금합니다.

Q2. 일단 정상적으로 로직이 작동하여서 2번 결제를 선택 후 total 값을 확인하였고 변수를 초기화를 하지 않은것을 실행 후에 알게 되었는데, main에서 선언한 변수라 초기화가 되지 않고 값이 저장되어서 기록되는 것은 다른 질문을 보고 이해를 했지만 그렇게 되면 2번 결제 항목에서 초기화를 따로 시켜주지 않았는데도 불구하고 2번 결제를 선택 후 다시 1번으로 가서 값을 새로 입력하고 2번을 선택 하면 자동으로 초기화가 되어 새로 입력한 값만 불러와 졌는데 어떠한 원리로 이렇게 작동이 된것인지 궁금합니다.

항상 좋은 강의 감사합니다:)

java 객체지향

답변 1

1

OMG

안녕하세요. 텅텅빈머리속님, 공식 서포터즈 OMG입니다.

A1.

total값을 누적하지 않기 때문에 1번의 상품 입력을 두번 실행하였다면

이후 2번 입력한 의 결재에서는 두번째 입력한 수량*가격의 값이 나와야 합니다. 뭔가 이상하네요. 입력했던 케이스를 올려주시겠어요?

 

A2. price, quantity, total은 이미 선언과 동시에 초기화가 되었기 때문에 아예 초기화를 하지 않은 것과는 실행에 차이가 있습니다. 초기화를 진행하였다면, 이후에 값이 변경되는 것은 문제가 되지 않습니다.

image

예를 들어, int price = 0;

으로 한번 초기화를 하였다면 이후 price = 10; price = 20; 이렇게 값이 계속 변경되는 것은

price라는 이름의 변수가 생성되었고 이것을 계속 재사용하는 것이기에 문제가 되지 않습니다.

감사합니다.

1

텅텅빈머리속

안녕하세요. 답변해 주셔서 감사합니다~!

주말동안 병원에 있어서 확인을 하지 못해서 늦게 답변 드리는 점 죄송합니다 ㅠㅠ

일단 Q1에 관한 내용은 다시 한번 확인을 해보았는데 정상적으로 누적이 안되는걸 확인했습니다. 아무래도 오류이거나 제가 신나서 이것저것 입력하다 보니 잘못본것 같습니다.
Q2에 대한 답변도 덕분에 이해가 됬습니다. 알려주셔서 감사합니다~!

문제와 풀이4 문제점

0

41

2

문제풀이 시간마다 방향성

0

39

2

피라미드 문제 풀이

0

71

1

ScannerWhile3 예제 코드 질문

0

55

1

짝수 출력 문제 질문

0

50

1

Array 연습 문제 5번 질문입니다.

0

84

2

단축어가 이상하게 나옵니다

0

128

2

Sql강의

0

90

1

array 문제풀이 2번 질문입니다.

0

55

1

JAVA입문 / 메서드편 문제와 풀이2

0

47

1

인텔리제이 무료버젼이 통합되었다는데 30일 무료버전이면 어떻게 사용하나요

1

800

3

OperationEx3에서 꼭 boolean을 써야 하나요?

0

59

1

for, while문 작성

0

65

1

68강 ArrayEx6 클래스 질문

0

60

1

IO.println(String.format("Hello and welcome!"));

0

149

2

소스코드 실행이 안돼요

0

119

2

메서드 문제와 풀이2에서 마지막 문제 이렇게 풀어도 괜찮은 건가요..?

0

79

1

While과 for 스코프 질문

0

63

1

김영한 java 입문 설치 질문

0

137

2

버퍼문제?

0

54

1

for문 피라미드 찍는거 질문

0

78

1

21버전이 없고, 강의 메뉴얼 확인해보면 된다는 김영한 선생님 답변 확인했습니다.

0

373

1

3번 문제 질문 있습니다.

0

99

2

sout에는 변수가 하나만 들어가야 하나요?

0

134

1