public class Test4HW3Sample {
public static void main(String[] args){
HW3Sample p1 = new HW3Sample();
System.out.println("名前: " + p1.getName());
System.out.println("身長(cm): " + p1.getHeight());
System.out.println("体重(kg): "+p1.getWeight());
System.out.println("BMI: " + String.format("%.2f", p1.calcBMI()));
System.out.println("判定: " + HW3Sample.getMessage(p1.calcBMI()));
System.out.println();
HW3Sample p2 = new HW3Sample("ふがよ", 234.5, 50.0);
System.out.println("名前: " + p2.getName());
System.out.println("身長(cm): " + p2.getHeight());
System.out.println("体重(kg): "+p2.getWeight());
System.out.println("BMI: " + String.format("%.2f", p2.calcBMI()));
System.out.println("判定: " + HW3Sample.getMessage(p2.calcBMI()));
System.out.println();
}
}
import javafx.application.Application;
import javafx.stage.*;
import javafx.scene.*;
import javafx.scene.control.*;
import javafx.scene.layout.*;
public class G14HW3 extends Application {
@Override
public void start(Stage pstage) {
HW3PaneSample hw3pane1 = new HW3PaneSample();
HW3PaneSample hw3pane2 = new HW3PaneSample();
HBox root = new HBox(hw3pane1, hw3pane2);
root.getStyleClass().add("myPane");
Scene scene = new Scene(root);
scene.getStylesheets().add("hw3pane.css");
pstage.setScene(scene);
pstage.setTitle("G14HW3");
pstage.sizeToScene();
pstage.show();
}
public static void main(String[] args) {
launch(args);
}
}
ちなみに,3つのクラスの関係は下図のようになってます(Sampleのついてないクラス名で説明しています).

提出期限: 0710金 16:50
以下のAPI仕様を満たす HW3 クラスを作ろう
完成したプログラムのソースファイル(HW3.java だけ)をこの科目の Moodle コース上の当該の場所へ提出してください.このファイルは締切後に半自動的に処理します.コンパイルエラーになる,ファイル名が違う,といったことのないように注意すること.ファイル名の間違い(大文字小文字も)に注意.
- HW3()
- 名前 "ほげお",身長 170.0[cm],体重 62.0[kg]のインスタンスを生成.
- HW3(String n, double h, double w)
- 名前 n,身長 h[cm],体重 w[kg]のインスタンスを生成.
- void setName(String n)
- このインスタンスの名前を n にする.
- void setHeight(double h)
- このインスタンスの身長を h にする.
- void setWeight(double w)
- このインスタンスの体重を w にする.
- String getName()
- このインスタンスの名前の値を返す.
- double getHeight()
- このインスタンスの身長の値を返す.
- double getWeight()
- このインスタンスの体重の値を返す.
- double calcBMI()
- このインスタンスのBMIを計算して返す. \( \textrm{BMI} = (\mbox{体重[kg]}) / (\mbox{身長[cm]}/100)^2 \)
- static String getMessage(double bmi)
- bmi が Border1 未満,Border1 以上 Border2 未満,Border2 以上の三つの場合に応じた文字列を返す.戻り値は,順に "やせてんなぁ","ふつー","太ってる…かな?".
- static double Border1
- BMIの境界値のうち小さい方.初期値は 20.
- static double Border2
- BMIの境界値のうち大きい方.初期値は 25.
次のことをやりましょう.
次のことに注意
this.getChildren().add(canvas);して,これ(DoraPaneのインスタンス)に canvas を載せてました(cf. Graphics/2020/ex13#g9529a1f).HW3Pane の場合は,canvas のかわりに GridPane のインスタンスを載せる,そしてその GridPane のインスタンスには Label とか TextField とか載せる,と考えたらよいでしょう
String.format("%.2f", double型の値)
とすればよい.このメソッドの戻り値は String である.