2013-11-22 2 views
0

이름, 나이, 섹스, 높이 및 무게 필드가있는 BMI 정보 (체질량 지수)를 계산하는 BMI 계산기 클래스를 실행하는 기본 클래스가 있습니다. 허리와 엉덩이의 비율을 계산할 수있는 WaistToHip 계산기 클래스가 있습니다. 허리와 엉덩이. 그러나 BodyFat 계산기를 만들고 싶을 때 두 클래스의 높이와 허리가 필요합니다. 내 공식을 체지방 계산기 클래스에서 어떻게 호출할까요?다른 클래스의 개체 호출

public class body_fat_calculation { 
    private double neck; 
    private double CBF; 
    waist_to_hip_ratio waist; 
    bmiCalculator height; 

    public body_fat_calculation(double neck) { 
     super(); 
     this.neck = neck; 
    } 

    public double getCBF() { 
     return CBF; 
    } 

    public void setCBF(double cBF) { 
     CBF = cBF; 
    } 

    public double getNeck() { 
     return neck; 
    } 

    public void setNeck(double neck) { 
     this.neck = neck; 
    } 

    public double Round(double Rval, int Rpl){ 
     double p = Math.pow(10, Rpl); 
     Rval=Rval*p; 
     double tmp = Math.round(Rval); 
     return tmp/p; 
    } 

    public void calculateWTHR(){ 
     CBF= Round((495/(1.0324 - 0.19077 * Math.log10((waist)-(neck)) + 0.15456 * Math.log10(height)) - 450),2); 
    } 
} 
+1

코드에서 얻은 것을 보여주고 거기에서부터 갈 수 있습니다. – Prateek

+0

@Prateek 안녕하세요, 이것으로 충분합니까? – user3022819

+0

먼저 먼저. 왜'constructor'을'neck'으로 설정하고'setNeck'을 다시 목으로 설정 하는가? 그리고 당신의'body_fat_calculation'은 기본 클래스를 확장하지 않습니다. 그래서'super'가 왜 있습니까? – Prateek

답변

0

왜 이렇게하지 않습니까? 알면, 허리와 높이의 두 가지 매개 변수 인 BodyFatCalculator 클래스를 추가했습니다.

public class Main { 
    public static void main(string[] args){ 

    // I assume you will want to use a scanner to get user input to set these variables dynamically 
    // for the sake of the example, I have set them myself. 
    double height = 1.82; // meters 
    double weight = 170.0; 
    double waist = 35.0; 
    double hip = 40.0; 
    double neck = 7.1; 
    String name = "Dave"; 
    String sex = "M"; 
    int age = 20; 

    // create new BMI Calculator to figure out body mass index 
    BMICalculator bmiCalc = new BMICalculator(name, age, sex, height, weight); 
    double bmi = bmiCalc.calculateBmi(); // calculate body mass index 

    WaistToHipCalculator waistHipCalc = new WaistToHipCalculator(waist, hip); 
    double whr = waistHipCalc.calculateWhr(); // calculate waist to hip ratio 

    BodyFatCalculator bfCalc = new BodyFatCalculator(neck, height, waist); 
    double bf = bfCalc.calculateBf(); // calculate body fat 

    // print results 
    } 
} 
+0

메인을 포함시켜 주셔서 대단히 감사합니다. 나는 나머지 코드를 업로드 할 것이다. 그러면 더 쉬울 것입니다. – user3022819

0

클래스는 명사입니다. 동사는 방법이어야합니다. BodyFatCalculation이라는 클래스에서 많은 클래스를 사용하기에는 너무 열심히 노력하고 있다고 생각합니다. 메소드로 calculateBodyMassIndex 및 calculateBodyFat (verbs)와 함께 Body (명사) 클래스를가집니다. Height와 Heist가있는 Dimensions 클래스를 만들고 (필요한 경우 getter와 setter를 사용하여) Body 클래스 내부에 그 인스턴스를 유지할 수 있습니다.하지만 여기에서는 과도합니다.