promotion image of download ymail app
Promoted

請問一下java程式!!求救!!..!!!

class Body

{

double h,w;

boolean sex;

Body(){

}

Body(double h,double w)

{

this.h=h;

this.w=w;

}

Body(double h,boolean sex)

{

this.h=h;

}

Body(double h,double w,boolean sex)

{

this.h=h;

this.w=w;

this.sex=sex;

}

double BMI()

{

double t=h/100;

return w/(t*t);

}

double stdWeight()

{

if(sex)

return (h-80)*0.7;

else

return (h-70)*0.6;

}

}

public class BodyMain {

public BodyMain() {

}

public static void main (String[] args) {

java.util.Scanner keyin=new java.util.Scanner(System.in);

System.out.print("身高:");

double a=keyin.nextDouble();

System.out.print("體重:");

double b=keyin.nextDouble();

System.out.print("性別:");

System.out.print("男生選B:女生選G:");

char c=keyin.next().charAt(0);

Body e=new Body(a,b,c);

System.out.println("BMI="+e.BMI());

System.out.println("StdWeight="+e.stdWeight());

}

}

為什麼無法編譯呢??

3 個解答

評分
  • 胤煌
    Lv 5
    10 年前
    最佳解答

    你的Body的建構子沒有 double double char 參數的方法

    所以只要把主類別改成這樣就行了

    public class BodyMain {public BodyMain() {

    }

    public static void main (String[] args) {

    java.util.Scanner keyin=new java.util.Scanner(System.in);

    System.out.print("身高:");

    double a=keyin.nextDouble();

    System.out.print("體重:");

    double b=keyin.nextDouble();

    System.out.print("性別:");

    System.out.print("男生選B:女生選G:");

    char c = keyin.next().charAt(0);

    boolean sex = false;

    if(c == 'B')

    sex = true;

    Body e = new Body(a,b,sex);

    System.out.println("BMI="+e.BMI());

    System.out.println("StdWeight="+e.stdWeight());

    }}

    • Commenter avatar登入以對解答發表意見
  • 匿名使用者
    10 年前

    回 失落:

    寫程式, 用感覺, 就完蛋了。

    他沒有多, 那是類別的大括號。

    • Commenter avatar登入以對解答發表意見
  • Blue
    Lv 6
    10 年前

    return (h-70)*0.6;

    }

    }

    感覺上有多一個}

    • Commenter avatar登入以對解答發表意見
還有問題?馬上發問,尋求解答。