[ 오답노트 ] 형 변환, 나눗셈

최수정·2022년 11월 17일
0

알고리즘(자바)

목록 보기
6/12

문제

  • 조건 : 정수 num1과 num2가 매개변수로 주어질 때, num1을 num2로 나눈 값에 1,000을 곱한 후 정수 부분을 return 하도록 soltuion 함수를 완성해주세요.

🔽 처음 오류코드

class Solution {
    public int solution(int num1, int num2) {
        
        int answer = (int) ((float)(num1/num2) * 1000) ;
        
        return answer;
    }
}

형변환 실수

  • /연산시 한 변수만 float이라도 결과는 float형으로 나온다.
  • 괄호를 잘못 넣으면, float끼리의 연산이 아니라 연산을 한 뒤, 그 결과를 float로 바꿔버리게 돼서 결과 값이 다르게 나온다.
// 오류 => 2.0
float result2 = (float) (num1/num2);
System.out.println(result2); 
// 정정 => 2.3333333
float result = (float) num1/num2; 
System.out.println(result);

 public static void main(String[] args) {
        Q005 m = new Q005();
        System.out.print(m.solution(7,3));

    }

0개의 댓글