728x90
이걸 해결하지 못한거면 그냥 기초를 다시 공부해야.. 다시 처음부터 공부하자..
이 문제는 자료형, 타입 변환과 관련된 문제
데이터의 산술 연산 시에는 피연산자들의 타입이 모두 일치해야하며,
타입 변환을 하는 시점에 따라 리턴값이 달라진다.
1) 이항 연산자는 두 피연산자들의 값이 일치해야 연산이 가능하다.
2) num1과 num2는 int형이다. 따라서 입출력 예3의 값을 대입한 1/16의 경우, 나누기 연산 이후 값이 0이 된다. 값 0에는 어떤 수를 곱해도 0이기 때문에 result값 62가 출력되지 않는 것이다.
((double) num1 / (double) num2) * (double) 1000 처럼 각각의 변수를 타입 변환 해주거나, double answer = ((double) num1 / num2) * 1000처럼 괄호 안에 (double) 타입 변환을 사용한다.
산술 변환(usual arithmetic conversion)
두 피연산자의 타입 중 더 큰 타입으로 일치시키는 것
산술 연산 시 타입 변환
1) (double) a + b
2) a + (double) b
3) (double) a + (double) b
728x90
'JAVA > 프로그래머스' 카테고리의 다른 글
[JAVA] LV.0 콜라츠 추측 (0) | 2023.03.17 |
---|---|
[JAVA] LV.0 종이자르기 (JAVA) (0) | 2023.03.14 |
[JAVA] LV.0 제일 작은 수 제거하기 (0) | 2023.03.10 |
[JAVA] LV.0 양꼬치 문제 (0) | 2023.03.08 |
[JAVA] LV.0 각도기 (0) | 2023.03.07 |