2014-12-16 1 views
0

저는 컴퓨터 과학 수업을위한 프로그램을 작성 중이며 방정식에 문제가있었습니다. 모든 복식이 반올림됨을 알 때까지 나는 코드를 깨기 시작할 때까지는 아니었다. 예 :기본 수학은 항상 Java에서 반올림합니다.

public static void test(){ 
    double var = 4/3; 
    System.out.println(var); 
} 

"1.0"이 콘솔에 출력됩니다. 나는이 메소드를 호출하는 main 메소드를 제외하고는 다른 모든 것을 주석 처리했다. 제발 도와주십시오

답변

2

나중에 double에 할당 된 경우에도 다른 int을 반환해야하는 Java로 정수 나누기를 수행합니다.

는, 부동 소수점 부문을 강제 double 리터럴 사용하려면
double var = 4.0/3.0; 

이 하나가에 .0을 가질 필요가 있습니다. 또는,이 같은 효과에 double에 그들 중 하나를 캐스팅 할 수 있습니다

double var = (double) 4/3; 

또 다른 옵션 : 놓습니다 d 접미사를 하나 또는 둘 모두 리터럴에 :

double var = 4d/3d; 
+0

감사합니다! 이것은 내 문제를 해결했다. – SamH

관련 문제