welcome: please sign in
location: "Java"の差分
72と196のリビジョン間の差分 (その間の編集: 124回)
2009-10-01 12:15:13時点のリビジョン72
サイズ: 4116
編集者: masahiko
コメント:
2011-09-16 02:34:20時点のリビジョン196
サイズ: 3911
編集者: masahiko
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 3: 行 3:
Java(応用プログラミングA)資料、課題はmoodleにあります。 Java(応用プログラミングA)資料
 このページは非公開です。
 公開部分
はmoodleからリンクしています。
行 10: 行 12:
=== 授業計画(2009年度の内容) ===
行 12: 行 13:
||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|| || || ||
=== 授業計画(2011年度) ===
||1 (9/28)||Java概要||[[Javaとはどんな言語なのか]], [[処理系の使い方]]||[[Java課題01]]||
行 27: 行 16:
2009年度の修正予定
 * Linuxサーバ上でのコンパイルと実行を加える
 * 線形リストを単純な課題に修正
 * アプレットの前にAWTを追加
=== 授業(2010年度) ===

||2 (10/6)||基本データ型||[[プログラムの書き方]], [[表示のための命令]], [[Javaの構文]], [[基本データ型]]||[[Java課題02]]||
||3 (10/13)||配列||[[配列]], [[変数の宣言と初期化]], [[論理式]]||[[Java課題03]], [[Java解答03|解答]]||
||4 (10/20)||文字列||[[String]], [[コマンドライン引数]]||[[Java課題04]], [[プログラム作成の手順|ヒント]]||
||5 (10/27)||オブジェクト||[[オブジェクト]], [[クラス]]||[[Java課題05]],[[Java解答05|解答]]||
||6 (11/10)||メソッド||[[クラスの定義]], [[アクセス修飾子]], [[メソッド]], [[コンストラクタ]]||[[Java課題06]]||
||7 (11/17)||オブジェクトをつなぐ||[[オブジェクトをつなぐ]], [[つながったオブジェクトを表示する]]||[[Java課題07]]||
||8 (11/24)||リスト処理||[[オブジェクトを沢山つなぐ]], [[オブジェクトをつなぐメソッド]], [[オブジェクトを除くメソッド]], [[線形リスト]]||[[Java課題08]]||
||9 (12/1)||継承||[[線形リストの操作]], [[継承]], [[継承の例]], [[複数クラスのコンパイル]]||[[Java課題09]]||
||10 (12/8)||入出力||[[まとめと補足]], [[break文]], [[既存のクラスを利用する]], [[ファイル入力]] ||[[Java課題10]]||
||11 (12/15)||グラフィックス||[[Swing]], [[ウインドウの表示]], [[ウインドウの内容]], [[APIを調べる]]||[[Java課題11]]||
||12 (12/22)||画像とマウス||[[画像を表示する]], [[イベントドリブン]]||[[Java課題12]]||
||13 (1/12)||応用||[[色]], [[15ゲーム]], [[盤の表現]]||[[Java課題13]]||
||14 (1/19)||応用||[[ばらばらにする]], [[ピースを動かす]]||[[Java課題14]]||
||15 (1/26)||配布||[[クラスを利用する]], [[Jarファイル]], [[アプレット]]||新しい課題はありません||
行 32: 行 33:
==== 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ゲームを作る]]||
行 50: 行 36:
 . 入出力、バイトストリームとテキストストリーム
 . 例外処理
行 53: 行 37:
課題2
 . 次の虫食い算を解くためにCで書いたプログラムを示します。
 . 四角の場所には数字の1つが入ります。
 . 左端の四角はゼロではありません。
 . 5つある星の場所には同じ数字が入ります。
 . {{attachment:musikui1.png}}
{{{
#include <stdio.h>
古い資料(2000年ごろ)
    * [[http://web.lab.hyogo-dai.ac.jp/~masahiko/kisojava/kakkuro1.html|数を使ったパズルを解く手順を日本語で書く]]
    * [[http://web.lab.hyogo-dai.ac.jp/~masahiko/kisojava/gengo1.html|JAVA 言語概説]]
    * [[http://web.lab.hyogo-dai.ac.jp/~masahiko/kisojava/dainyu.html|代入文]]
    * [[http://web.lab.hyogo-dai.ac.jp/~masahiko/kisojava/for.html|繰り返しのための構文]]
    * [[http://web.lab.hyogo-dai.ac.jp/~masahiko/kisojava/if.html|条件を含む構文]]
    * [[http://web.lab.hyogo-dai.ac.jp/~masahiko/kisojava/while.html|これまでのまとめの問題]]
    * [[http://web.lab.hyogo-dai.ac.jp/~masahiko/kisojava/hairetu1.html|配列]]
    * [[http://web.lab.hyogo-dai.ac.jp/~masahiko/kisojava/hairetu2.html|配列を使ってパズルを解いてみよう]]
    * [[http://web.lab.hyogo-dai.ac.jp/~masahiko/kisojava/angou1.html|手作業とプログラムの分担を考える]]
    * [[http://web.lab.hyogo-dai.ac.jp/~masahiko/kisojava/rsa1.html|公開鍵暗号について]]
行 62: 行 49:
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)条件を追加し、正しい答えだけが表示されるようにしなさい。[応用課題]
    * 問題1 [[http://web.lab.hyogo-dai.ac.jp/~masahiko/kisojava/menseki1.html|面積の計算]]

Java(応用プログラミングA)資料

  • このページは非公開です。 公開部分はmoodleからリンクしています。

授業目標

  • Java言語によるプログラミングの演習をとおして、プログラミングにおける動的あるいは静的なものごとの考え方を学びます。

授業概要

  • Java言語を使ったプログラミングの演習を行い、クラス、オブジェクト、構造について学びます。 授業ではパソコンや学内ネットワークシステムを利用します。

授業計画(2011年度)

1 (9/28)

Java概要

Javaとはどんな言語なのか, 処理系の使い方

Java課題01

授業(2010年度)

2 (10/6)

基本データ型

プログラムの書き方, 表示のための命令, Javaの構文, 基本データ型

Java課題02

3 (10/13)

配列

配列, 変数の宣言と初期化, 論理式

Java課題03, 解答

4 (10/20)

文字列

String, コマンドライン引数

Java課題04, ヒント

5 (10/27)

オブジェクト

オブジェクト, クラス

Java課題05,解答

6 (11/10)

メソッド

クラスの定義, アクセス修飾子, メソッド, コンストラクタ

Java課題06

7 (11/17)

オブジェクトをつなぐ

オブジェクトをつなぐ, つながったオブジェクトを表示する

Java課題07

8 (11/24)

リスト処理

オブジェクトを沢山つなぐ, オブジェクトをつなぐメソッド, オブジェクトを除くメソッド, 線形リスト

Java課題08

9 (12/1)

継承

線形リストの操作, 継承, 継承の例, 複数クラスのコンパイル

Java課題09

10 (12/8)

入出力

まとめと補足, break文, 既存のクラスを利用する, ファイル入力

Java課題10

11 (12/15)

グラフィックス

Swing, ウインドウの表示, ウインドウの内容, APIを調べる

Java課題11

12 (12/22)

画像とマウス

画像を表示する, イベントドリブン

Java課題12

13 (1/12)

応用

, 15ゲーム, 盤の表現

Java課題13

14 (1/19)

応用

ばらばらにする, ピースを動かす

Java課題14

15 (1/26)

配布

クラスを利用する, Jarファイル, アプレット

新しい課題はありません


やり残したこと

  • collection
  • arrayList


古い資料(2000年ごろ)

Java (最終更新日時 2012-03-27 05:09:20 更新者 masahiko)