다른

Mac [Java] double은 역참조할 수 없습니다.

NS

데이브 테일러

오리지널 포스터
2007년 11월 6일
스코틀랜드 애버딘셔
  • 2010년 1월 25일
코드: |_+_|
돕다? ㅋ ㅋ ㅋ

아이셰이터

2002년 8월 13일


시카고랜드
  • 2010년 1월 25일
실제 오류를 게시할 수 있습니까? 메소드가 끝나기 전에 return 문이 있는 이유는 무엇입니까? NS

스탠8

2009년 12월 24일
맨체스터, 영국
  • 2010년 1월 25일
우선 시도해야합니다
리턴('' + BMI);
즉, '+' 연산자는 연결을 수행합니다.

둘째, 항상 실행되는 위의 return 문이 있기 때문에 해당 if 문이 언제 실행되는지 이해할 수 없습니다. NS

데이브 테일러

오리지널 포스터
2007년 11월 6일
스코틀랜드 애버딘셔
  • 2010년 1월 25일
iShater는 다음과 같이 말했습니다: 실제 오류를 게시할 수 있습니까? 메소드가 끝나기 전에 return 문이 있는 이유는 무엇입니까? 확장하려면 클릭하세요...

실제 오류는 이중으로 역참조할 수 없습니다.

크로뮬런트

2006년 10월 2일
희망과 영광의 땅
  • 2010년 1월 25일
우선 if.. else 문을 치기 전에 반환합니다. 이는 절대 호출되지 않는다는 의미입니다.

두 번째로 메소드는 double을 반환하지만 if.. else 문에서 문자열을 반환하려고 합니다.

세 번째로 toString() 메서드를 호출할 때 기본 유형이 아닌 Double 개체를 사용해야 합니다. 따라서 BMI를 double이 아닌 Double(java.lang.Double)로 선언해야 합니다.

다음은 간단한 예입니다.

코드: |_+_|

촌33

중재자
직원
2009년 8월 9일
심연의 차원
  • 2010년 1월 25일
DaveTaylor는 다음과 같이 말했습니다: 실제 오류는 이중으로 역참조할 수 없습니다. 확장하려면 클릭하세요...

첫째, 당신은 이것을 할 수 없습니다:
코드: |_+_|
BMI가 다음과 같이 선언되기 때문에 더블 , 기본 유형입니다. Java는 이 상황에서 autoboxing을 수행하지 않습니다.

BMI가 다음과 같이 선언된 경우 더블 , 기본 유형에 대한 래퍼 클래스, 그러면 작동할 수 있습니다...

당신이 이것을 할 수 없다는 것을 제외하고:
코드: |_+_|
Java는 자동으로 ()를 추가하지 않기 때문입니다. 객체에서 toString 메서드를 호출하려면 메서드 호출로 작성해야 합니다.
코드: |_+_|
튜토리얼이나 책을 사용하지 않는다면 정말 사용해야 합니다.

lee1210

2005년 1월 10일
텍사스주 댈러스
  • 2010년 1월 25일
나는 단지 java.lang.String의 valueOf(double) 메소드의 사용을 제안함으로써 지금까지 만들어진 좋은 관찰에 추가하고 싶었다. 이것을 실행하고 String을 다시 얻을 수 있습니다. String + double 연산자를 사용하는 것도 잘 작동하지만 원하는 것이 double의 String 표현인 경우에는 필요하지 않습니다.

-읽다

cx300

2008년 9월 12일
플로리다주 클레르몬트
  • 2010년 1월 25일
내 자바는 약간 녹슬었지만 이것은 맞아야합니다 ...

코드: |_+_|

촌33

중재자
직원
2009년 8월 9일
심연의 차원
  • 2010년 1월 25일
cx300 말: 내 자바는 약간 녹슬었지만 이것은 맞아야 합니다...

코드: |_+_| 확장하려면 클릭하세요...

다른 계수 없이 계산이 (무게/(질량 * 질량))인 경우, 키 단위는 미터이고 질량(무게) 단위는 킬로그램입니다. 높이가 정수 미터(1, 2, 3)만 사용할 수 있다면 심각한 정밀도 문제가 있는 것입니다.

http://en.wikipedia.org/wiki/Body_mass_index

또한 이러한 유형은 결과에 분수 값을 생성하지 않을 것입니다. 계산이 완전히 정수 산술(즉, 나누기 자르기)로 수행되기 때문에 정수 결과가 double로 변환됩니다. 소수 부분의 가능성이 있는 이중 계산을 원하는 경우 최소한 하나의 피연산자는 이중 유형이어야 합니다.

나는 이 문제가 자바에만 있다고 생각하지 않는다. 정수 및 이중 산술에 대한 유사한 규칙이 있는 C에서도 유사한 문제가 있습니다.