#acl All: Java(応用プログラミングA)資料、課題はmoodleにあります。 === 授業目標 === Java言語によるプログラミングの演習をとおして、プログラミングにおける動的あるいは静的なものごとの考え方を学びます。 === 授業概要 === Java言語を使ったプログラミングの演習を行い、クラス、オブジェクト、構造について学びます。 授業ではパソコンや学内ネットワークシステムを利用します。 === 授業計画(2009年度の内容) === ||1||Java概要||[[Javaとはどんな言語なのか]], [[処理系の使い方]]||[[Java課題01]]|| ||2||Cとの相違||[[プログラムの書き方]], [[表示のための命令]], [[Javaの構文]], [[基本データ型]]||[[Java課題02]]|| ||3||変数||[[オブジェクト]], [[配列]], [[変数の宣言と初期化]]||[[Java課題03]]|| ||4||文字列||[[String]], [[コマンドライン引数]]|| || ||5||プログラムの構造||[[クラス]], オブジェクト|| || ||6||メソッド|| || || ||7||他のクラスを使う||static, public, private リスト処理|| || ||8||入出力|| || || ||9||グラフィックス|| AWT APIを調べる || || ||10|| || || || ||11||イベントドリブン||mouse event || || ||12|| || || || ||13||アプレット|| || || ||14|| || || || 2009年度の修正予定 * Linuxサーバ上でのコンパイルと実行を加える * 線形リストを単純な課題に修正 * アプレットの前にAWTを追加 ---- ==== 2008の内容 ==== ||1||Java概要||[[Javaとはどんな言語なのか]], [[処理系の使い方]]|| ||2||Cと似ているところ||[[プログラムの書き方]], [[Cの構文との比較]], [[表示のための命令]]|| ||3||Cとの違い||[[プリミティブとオブジェクト]], [[配列]]|| ||4||文字列||[[String]], [[コマンドライン引数]]|| ||5||変数とクラス||[[変数の宣言と初期化]],[[プログラム作成の手順]],[[クラス]]|| ||6||コンストラクタ||[[コンストラクタ]],[[インスタンスをつなぐ]]|| ||7||メソッド||[[メソッド]],[[メソッドを作る]]|| ||8||複数のクラスを使う||[[複数のクラスを使う]],[[列車を作る]]|| ||9||継承||[[継承]],[[電車を作る]]|| ||10||static||[[static変数]],[[break文]]|| ||11||ここまでのまとめ||[[修飾子]],[[クラスのまとめ]],[[解答]]|| ||12||アプレット||[[アプレット]],[[APIを調べる]]|| ||13||アプレット(続き)||[[アプレットの初期化]],[[マウスイベント]]|| ||14||総合課題||[[15ゲームを作る]]|| やり残したこと . collection . arrayList . 入出力、バイトストリームとテキストストリーム . 例外処理 ---- 課題2 . 次の虫食い算を解くためにCで書いたプログラムを示します。 . 四角の場所には数字の1つが入ります。 . 左端の四角はゼロではありません。 . 5つある星の場所には同じ数字が入ります。 . {{attachment:musikui1.png}} {{{ #include int main(int argc, char *argv[]) { int a, b1, b2, c1, c2, d; for (a = 100; a <= 999; a++) { for (b1 = 1; b1 <= 9; b1++) { for (b2 = 1; b2 <= 9; b2++) { c2 = a * b2; c1 = a * b1; d = 10*c1 + c2; if (keta(c2,3)==b1 && keta(c2,1)==b1 && keta(c1,1)==b1 && keta(d,2)==b1 && c1 <= 999) printf("%d * %d%d = %d %d = %d\n", a,b1,b2,c2,c1,d); } } } } int keta(int su, int ichi) { while (ichi > 1) { su /= 10; ichi--; } return su % 10; } }}} * 1)このプログラムをJavaに書き直しなさい。[必須課題] * 2)条件を追加し、正しい答えだけが表示されるようにしなさい。[応用課題]