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

sha8658님의 프로필 이미지
sha8658

작성한 질문수

나도코딩의 자바 기본편 - 풀코스 (20시간)

퀴즈 #2

퀴즈 2번 질문드립니다

해결된 질문

작성

·

103

1

코드를 아래와 같이 작성했더니

int height = 115;
String result = (height >= 120) ? "탑승 가능합니다" : "탑승 불가능합니다";

System.out.println("키가 " + height + "cm 이므로 " + result);

height = 121;
System.out.println("키가 " + height + "cm 이므로 " + result);

키가 115cm 이므로 탑승 불가능합니다

키가 121cm 이므로 탑승 불가능합니다

 

이렇게 출력되는데 중간에 변수값을 height = 121; 이런식으로 변경해주면 안되는건가요??

 

121로 숫자가 바뀌는걸 봐서는 변경이 된 것 같은데 뒤에 result가 탑승 불가능합니다로 출력이 되는건지 궁금합니다!

답변 1

1

나도코딩님의 프로필 이미지
나도코딩
지식공유자

안녕하세요?

접근을 잘 해주셨습니다. 작성하신 것처럼 중간에 height = 121 라는 코드를 통해 height 변수의 값은 115 에서 121 로 업데이트가 되었는데요. result 의 경우 이미 앞에서 height 가 115 일 때 (height >= 120) 조건을 만족하지 않아서 "탑승 불가능합니다" 라는 값으로 설정되어 있는 상태입니다. 그래서 height 변수의 값을 바꾸고 나면 result 도 다시 수정된 height 에 맞게 업데이트를 해주셔야 반영이 되어요 😊

다음과 같이 코드를 한 줄 추가해주시면 원하시는 결과를 얻을 수 있답니다.

...
height = 121;
result = (height >= 120) ? "탑승 가능합니다" : "탑승 불가능합니다"; // 추가된 코드
System.out.println("키가 " + height + "cm 이므로 " + result);

(실행 결과)

키가 121cm 이므로 탑승 가능합니다

감사합니다.

sha8658님의 프로필 이미지
sha8658

작성한 질문수

질문하기