グラフィックス基礎及び実習 2019年度 第14回課題A,B †[edit]
課題A,Bのための準備 †[edit]
- 以下の3つのファイルをダウンロードしていつもの場所に置きましょう.
- HW3Sample を実行してみましょう.
- 以下の内容のファイル G14HW3.java を作りましょう.
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);
}
}
- G14HW3 を実行してみましょう.テキストフィールドに適当な文字・数字を入力して動作確認しよう.
3つのクラスの関係は下図のようになっている(Sampleのついてないクラス名で説明している).

課題A(TA) 完成目標: 今回の実習終了30分前まで †[edit]
HW3Sample と同様の動作をするプログラムを作ろう.ただし
- クラス名は HW3 とすること.
- 以下に示す API 仕様を満たすように作ること
- 以前に類似のクラス(HWやHW2)を作っているが,それらとは別に(拡張するのではなく)新規に作成すればよい.
- 練習のため,HW2.java などを見ないで一から作ってみることをおすすめします.
- 適切な動作確認ができるような & HW3Sample と同様の出力が得られるような main メソッドを自分で考えて定義すること.
HW3 クラスのAPI仕様 †[edit]
- コンストラクタ
- 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.
課題B(TA) 完成目標: 次回の実習開始直後 †[edit]
次のことをやりましょう.
- HW3PaneSample と同様の動作をするプログラムを作る.クラス名は HW3Pane とする
- G14HW3 で HW3PaneSample を使っているところを HW3Pane に書き換えて動作確認する
次のことに注意