以下の二つができたら, TA さんを呼んでチェックしてもらいましょう. オンライン受講のひとは moodle を確認してね
p.28 練習問題3.7をやりましょう.内容は次の通り
int n = 8, k = 5;として n 角形の各辺の周りに k 角形が描かれるようにする.n, k をいろいろ変えても正しく動作するようにしてください.
import javafx.scene.paint.*;
for(int j = 0; ...の行の直後に,if 文を使った次の処理を挿入する.
- j を 5 で割った余りが 1 か 3 なら m.setColor(Color.RED) する
- j を 5 で割ったあまりが 2 なら m.setColor(Color.BLUE) する
- 上記のいずれにも当てはまらない場合は, m.setColor(Color.GREEN) する
以下のことができたら, TA さんを呼んでチェックしてもらいましょう. オンライン受講のひとは moodle を確認してね
次のことをやりなさい.
繰り返しのたびにかめの位置をチェックし,かめがフレーム中央の 300 x 300 ピクセルの領域より外に出ていたら,中央に移動させる.この課題では,フレームの大きさもこの領域の大きさも固定で変更されないものとして考えて構いません(余裕のあるひとは,それらを変数に入れて変更可能にする手を考えるとよいでしょう).
check 5行目で,TurtleFrame クラスのコンストラクタが引数ありで呼ばれてますね.p.12 の TurtleFrame クラスのAPI仕様のコンストラクタの所を確認すると,この場合,フレームの大きさは ? x ? ですね.ということは,中央 300 x 300 の範囲かどうか調べるにはどういう条件式を書いたらよいでしょう?
check うまくできたと思えたら,実行してメニューから Speed > very fast を選択してみよう.
check ソースの最後の行に,氏名と学籍番号をコメントとして記しておいてください
次回授業までに必ずやっておくこと
次回の授業の資料(PDFや動画)等は こちら からどうぞ.
キャンパス内各所に設置されたプリンタで印刷することもできます.くわしくは「ポータル > 情報環境 > マニュアル > 印刷利用マニュアル」参照.
学内の実習室等に設置の PC ではスピーカから音が出ませんので,イヤフォン/ヘッドフォンを用意する必要あり
これはおまけ課題です.やらなくても減点になりません.やったら加点かも
以下のプログラムとその実行結果を参考にして,キーボードから年月日を入力すると,その日の曜日を教えてくれるプログラムを作ろう.
$ cal $ cal 1901
/** キーボードから入力した数の和を表示 */ import java.util.*; // Scanner クラスのために public class G03Scan{ public static void main(String[] args){ // Scannerクラスの使い方は,p.208やJava API参照 Scanner s = new Scanner(System.in); double sum = 0.0; System.out.println("スペースや改行を区切りにしていくつか数値を入力してみてね"); System.out.println("最後は数値以外の文字を入力してね"); while(s.hasNextDouble()){ sum += s.nextDouble(); } System.out.println("合計は" + sum + "だぴょん"); } }
$ java G03Scan スペースや改行を区切りにしていくつか数値を入力してみてね 最後は数値以外の文字を入力してね 1 1 3.14 ← キーボードからの入力 1 1 1 ← キーボードからの入力 hoge 999 ← キーボードからの入力 合計は8.14だぴょん