생성자의 클래스 멤버에 적절한 부동 소수점 값을 할당 할 수 없습니다.

Macieyo

생성자에 이상한 문제가 있습니다. 측정 된 매개 변수를 나타내는 "Training"클래스를 작성했습니다 . 8 명 중 5 명은 직접 초기화되는 반면 나머지는 값이 할당되기 전에 간단한 계산을 수행해야합니다. 내 문제는이 3 개의 부동 변수가 객체가 생성 된 후 0을 포함한다는 것입니다. 나는 무엇이 잘못되었는지 전혀 모른다.

public class Training {
    int hr1;            
    int hr2;            
    int hr3;            
    int hr4;
    String date;    

    float wsr;                                               //problem
    float hrDec1;                                            //problem
    float hrDec5;                                            //problem



public Training(int hr1, int hr2, int hr3, int hr4, String date) {
    this.hr1 = hr1;
    this.hr2 = hr2;
    this.hr3 = hr3;
    this.hr4 = hr4;
    this.date = date;

    this.wsr =    ( (hr2 - hr4) / (hr2 - hr1) ) * 100.0f;   //problem
    this.hrDec1 = ( (hr2 - hr3) / hr2 ) * 100.0f;           //problem
    this.hrDec5 = ( (hr2 - hr4) / hr2 ) * 100.0f;           //problem

}

public String toString(){
    return date+" | WSR: "+wsr +", HRdec1: "+hrDec1 +", HRdec5: "+ hrDec5;
}

}

새 개체를 인쇄 한 후 예.

Training t = new Training(90, 190, 130, 110, "15.08.2015"); 
System.out.println(t);

나는받을 것이다 :

15.08.2015 | WSR: 0.0, HRdec1: 0.0, HRdec5: 0.0

부동 값은 0을 포함합니다. 이유는 무엇입니까? 미리 감사드립니다!

x 제곱

플로트 값에 대한 귀하의 계산 값의 정수를 사용 hr1, hr2, hr3hr4. Java에서 정수 나눗셈의 결과도 정수입니다.

따라서 정수가 아닌 숫자가 나오는 나눗셈을 수행하면 java가 반올림합니다.

귀하의 경우 계산은 정수 나눗셈이기 때문에 먼저 0으로 내림되며 피제수와 제수는 모두 정수입니다.

float divison을 적용하려면 값 중 하나를 float로 바꾸면됩니다. 예를 들어 float (이 경우 100.0f)로 변경하면됩니다.

this.wsr = ((hr2 - hr4) * 100.0f)/ (hr2 - hr1);   
this.hrDec1 = ((hr2 - hr3) * 100.0f) / hr2;           
this.hrDec5 = ((hr2 - hr4) * 100.0f) / hr2;

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

C ++ 다른 함수에서 클래스 멤버의 값 할당

분류에서Dev

생성자 내부에 정적 클래스 멤버를 정의 할 수 있습니까?

분류에서Dev

xsd에서 적절한 클래스를 생성 할 수 없습니다.

분류에서Dev

Pandas에서 부동 소수점을 소수점 두 자리로 제한 할 수 없습니다.

분류에서Dev

빌드 메소드 중에 Java 클래스의 ArrayList 멤버 변수에 값을 어떻게 할당합니까?

분류에서Dev

Android의 Kotlin에서 활동 클래스에 대한 기본 생성자를 작성할 수 없습니다.

분류에서Dev

모든 기본 인수가있는 명시 적 생성자는 동일한 클래스의 다른 생성자에서 호출 할 수 없습니다.

분류에서Dev

타사 제공 클래스가있는 중첩 유형을 통해 외부 유형 XXX의 비 정적 멤버에 액세스 할 수 없습니다.

분류에서Dev

testcasesource에서 동적 값을 할당 할 수 없습니다.

분류에서Dev

멤버 함수의 클래스 변수에 액세스 할 수 없습니다.

분류에서Dev

BaseClass의 shared_ptr을 사용하여 파생 클래스의 멤버에 액세스 할 수 없습니다.

분류에서Dev

자바 스크립트의 입력 상자에서 부동 소수점을 추가 할 수 없습니다.

분류에서Dev

Objective c의 한 클래스에서 다른 클래스로 변수 값을 전달할 수 없습니다.

분류에서Dev

세션 클래스의 속성에 할당 된 세션 값을 검색 할 수 없습니다.

분류에서Dev

C의 한 줄에 문자열과 부동 소수점을 입력으로 사용할 수 없습니다.

분류에서Dev

그것은 자바 열거에 부동 소수점 값을 할당 할 수 있습니까?

분류에서Dev

파생 클래스에서 전용 멤버에 액세스 할 수 없습니다 (생성자가 기본 클래스에 정의되어 있어도)

분류에서Dev

클래스의 벡터 멤버에 액세스 할 수 없습니다.

분류에서Dev

상수 멤버로 클래스의 구성 및 할당 이동

분류에서Dev

-1.00의 부동 소수점 값을 반환 할 수 없습니다.

분류에서Dev

인터페이스 OnSeekBarChangeListner에 생성자가 없습니다. 구현할 멤버를 찾을 수 없습니다.

분류에서Dev

Java '클래스의 생성자는 주어진 유형에 적용 할 수 없습니다.' '필수 : 인수를 찾을 수 없음 : 문자열'

분류에서Dev

C ++의 다차원 배열에서 올바른 부동 소수점 값을 검색 할 수 없습니다.

분류에서Dev

자식 클래스에서 부모 속성을 설정할 수 없습니다.

분류에서Dev

문자열 배열을 클래스 멤버로 선언 할 수 없습니다.

분류에서Dev

ListView의 각 행에서 적절한 값을 계산할 수 없습니다.

분류에서Dev

템플릿 클래스 멤버의 유형을 추론 할 수 없습니다.

분류에서Dev

클래스를 토글 할 때 다른 값으로 동일한 CSS 속성을 사용할 수 없습니다.

분류에서Dev

동일한 aspect 클래스의 메소드에 대한 조언을 설정할 수 없습니다.

Related 관련 기사

  1. 1

    C ++ 다른 함수에서 클래스 멤버의 값 할당

  2. 2

    생성자 내부에 정적 클래스 멤버를 정의 할 수 있습니까?

  3. 3

    xsd에서 적절한 클래스를 생성 할 수 없습니다.

  4. 4

    Pandas에서 부동 소수점을 소수점 두 자리로 제한 할 수 없습니다.

  5. 5

    빌드 메소드 중에 Java 클래스의 ArrayList 멤버 변수에 값을 어떻게 할당합니까?

  6. 6

    Android의 Kotlin에서 활동 클래스에 대한 기본 생성자를 작성할 수 없습니다.

  7. 7

    모든 기본 인수가있는 명시 적 생성자는 동일한 클래스의 다른 생성자에서 호출 할 수 없습니다.

  8. 8

    타사 제공 클래스가있는 중첩 유형을 통해 외부 유형 XXX의 비 정적 멤버에 액세스 할 수 없습니다.

  9. 9

    testcasesource에서 동적 값을 할당 할 수 없습니다.

  10. 10

    멤버 함수의 클래스 변수에 액세스 할 수 없습니다.

  11. 11

    BaseClass의 shared_ptr을 사용하여 파생 클래스의 멤버에 액세스 할 수 없습니다.

  12. 12

    자바 스크립트의 입력 상자에서 부동 소수점을 추가 할 수 없습니다.

  13. 13

    Objective c의 한 클래스에서 다른 클래스로 변수 값을 전달할 수 없습니다.

  14. 14

    세션 클래스의 속성에 할당 된 세션 값을 검색 할 수 없습니다.

  15. 15

    C의 한 줄에 문자열과 부동 소수점을 입력으로 사용할 수 없습니다.

  16. 16

    그것은 자바 열거에 부동 소수점 값을 할당 할 수 있습니까?

  17. 17

    파생 클래스에서 전용 멤버에 액세스 할 수 없습니다 (생성자가 기본 클래스에 정의되어 있어도)

  18. 18

    클래스의 벡터 멤버에 액세스 할 수 없습니다.

  19. 19

    상수 멤버로 클래스의 구성 및 할당 이동

  20. 20

    -1.00의 부동 소수점 값을 반환 할 수 없습니다.

  21. 21

    인터페이스 OnSeekBarChangeListner에 생성자가 없습니다. 구현할 멤버를 찾을 수 없습니다.

  22. 22

    Java '클래스의 생성자는 주어진 유형에 적용 할 수 없습니다.' '필수 : 인수를 찾을 수 없음 : 문자열'

  23. 23

    C ++의 다차원 배열에서 올바른 부동 소수점 값을 검색 할 수 없습니다.

  24. 24

    자식 클래스에서 부모 속성을 설정할 수 없습니다.

  25. 25

    문자열 배열을 클래스 멤버로 선언 할 수 없습니다.

  26. 26

    ListView의 각 행에서 적절한 값을 계산할 수 없습니다.

  27. 27

    템플릿 클래스 멤버의 유형을 추론 할 수 없습니다.

  28. 28

    클래스를 토글 할 때 다른 값으로 동일한 CSS 속성을 사용할 수 없습니다.

  29. 29

    동일한 aspect 클래스의 메소드에 대한 조언을 설정할 수 없습니다.

뜨겁다태그

보관