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 である.