welcome: please sign in
location: "Java"の差分
74と152のリビジョン間の差分 (その間の編集: 78回)
2009-10-01 12:19:19時点のリビジョン74
サイズ: 4301
編集者: masahiko
コメント:
2010-09-17 02:17:35時点のリビジョン152
サイズ: 4038
編集者: masahiko
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 3: 行 3:
Java(応用プログラミングA)資料、課題はmoodleにあります。 Java(応用プログラミングA)資料
 このページは非公開です。
 公開部分
はmoodleからリンクしています。
行 10: 行 12:
=== 授業計画(2009年度の内容) === === 授業計画(2010年度) ===
行 12: 行 14:
||1||Java概要||[[Javaとはどんな言語なのか]], [[処理系の使い方]]||[[Java課題01]]||
||2||Cとの相違||[[プログラムの書き方]], [[表示のための命令]], [[Javaの構文]], [[基本データ型]]||[[Java課題02]]||
||3||変数||[[オブジェクト]], [[配列]], [[変数の宣言と初期化]]||[[Java課題03]]||
||4||文字列||[[String]], [[コマンドライン引数]]|| ||
||5||プログラムの構造||[[クラス]], オブジェクト, [[コンストラクタ]]|| ||
||6||メソッド||[[メソッド]] || ||
||7||他のクラスを使う||[[複数のクラスを使う]], [[継承]], static, public, private リスト処理|| ||
|| ||まとめ||[[static変数]], [[break文]], [[修飾子]], [[クラスのまとめ]]|| ||
||8||入出力|| || ||
||9||グラフィックス|| AWT [[APIを調べる]]|| ||
||10|| || || ||
||11||イベントドリブン||[[マウスイベント]]|| ||
||12|| || || ||
||13||アプレット||[[アプレット]], [[アプレットの初期化]]|| ||
||14|| ||[[15ゲームを作る]]|| ||

2009年度の修正予定
 * Linuxサーバ上でのコンパイルと実行を加える
 * 線形リストを単純な課題に修正
 * アプレットの前にAWTを追加
||1 (9/29)||Java概要||[[Javaとはどんな言語なのか]], [[処理系の使い方]]||[[Java課題01]]||
以下修正中
||2 (10/6)||基本データ型||[[プログラムの書き方]], [[表示のための命令]], [[Javaの構文]], [[基本データ型]]||[[Java課題02]]||
||3 (10/13)||配列||[[配列]], [[変数の宣言と初期化]], [[論理式]]||[[Java課題03]], [[Java解答03|解答]]||
||4 (10/20)||文字列||[[String]], [[コマンドライン引数]]||[[Java課題04]], [[プログラム作成の手順|ヒント]]||
||5 (10/27)||オブジェクト||[[オブジェクト]], [[クラス]]||[[Java課題05]]||
||6 (11/10)||継承,メソッド||[[クラスの定義]], [[継承]], [[メソッド]], [[コンストラクタ]]||[[Java課題06]], [[ヒント06|ヒント]]||
||7 (11/17)||リスト処理||[[複数のクラスを使う]], [[親クラスの変数を利用する]], [[線形リスト]]||[[Java課題07]]||
||8 (11/24)||リスト処理||[[リストの修正]], [[メソッドによるリストの修正]], [[アクセス修飾子]]||[[Java課題08]]||
||9 (12/1)||入出力||[[まとめと補足]], [[break文]], [[既存のクラスを利用する]], [[ファイル入力]] ||[[Java課題09]]||
||10 (12/8)||グラフィックス||[[Swing]], [[ウインドウの表示]], [[ウインドウの内容]], [[APIを調べる]]||[[Java課題10]]||
||11 (12/15)||画像とマウス||[[画像を表示する]], [[イベントドリブン]]||[[Java課題11]]||
||12 (12/22)||応用||[[色]], [[15ゲーム]], [[盤の表現]]||[[Java課題12]]||
||13 1/12||応用||[[ばらばらにする]], [[ピースを動かす]]||[[Java課題13]]||
||14 1/19||配布||[[クラスを利用する]], [[Jarファイル]]|| ||
||15 1/26|| || || ||
行 33: 行 31:
==== 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ゲームを作る]]||
==== 2008の内容の残り ====
 . [[インスタンスをつなぐ]]
 . [[メソッドを作る]]
 . [[列車を作る]]
 . [[電車を作る]]
 . [[修飾子]]
 . [[クラスのまとめ]]
 . [[解答]]
 . [[アプレット]]
 . [[アプレットの初期化]]
 . [[15ゲームを作る]]
行 54: 行 48:
課題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|公開鍵暗号について]]
行 63: 行 60:
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言語を使ったプログラミングの演習を行い、クラス、オブジェクト、構造について学びます。 授業ではパソコンや学内ネットワークシステムを利用します。

授業計画(2010年度)

1 (9/29)

Java概要

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

Java課題01

以下修正中

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)

入出力

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

Java課題09

10 (12/8)

グラフィックス

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

Java課題10

11 (12/15)

画像とマウス

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

Java課題11

12 (12/22)

応用

, 15ゲーム, 盤の表現

Java課題12

13 1/12

応用

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

Java課題13

14 1/19

配布

クラスを利用する, Jarファイル

15 1/26


2008の内容の残り

やり残したこと

  • collection
  • arrayList
  • 入出力、バイトストリームとテキストストリーム
  • 例外処理


古い資料(2000年ごろ)

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