welcome: please sign in
location: "Java"の差分
63と162のリビジョン間の差分 (その間の編集: 99回)
2009-09-27 01:33:09時点のリビジョン63
サイズ: 4297
編集者: masahiko
コメント:
2010-11-10 00:37:31時点のリビジョン162
サイズ: 4047
編集者: 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||配列と文字列|| arg[] || ||
||4||オブジェクト|| || ||
||5||メソッド|| || ||
||6||他のクラスを使う||static, public, private リスト処理|| ||
||7||入出力|| || ||
||8||グラフィックス|| AWT APIを調べる || ||
||9|| || || ||
||10||イベントドリブン||mouse event || ||
||11|| || || ||
||12||アプレット|| || ||
||13|| || || ||
||14|| || || ||
||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]],[[Java解答05|解答]]||
||6 (11/10)||メソッド||[[クラスの定義]], [[アクセス修飾子]], [[メソッド]], [[コンストラクタ]]||[[Java課題06]]||
行 27: 行 21:
2009年度の修正予定
 * Linuxサーバ上でのコンパイルと実行を加える
 * 線形リストを単純な課題に修正
 * アプレットの前にAWTを追加
以下修正中
||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: 行 32:
==== 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ゲームを作る]]
行 52: 行 48:
----
古い資料(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|公開鍵暗号について]]
行 53: 行 61:
課題2
 . 次の虫食い算を解くためにCで書いたプログラムを示します。
 . 四角の場所には数字の1つが入ります。
 . 左端の四角はゼロではありません。
 . 5つある星の場所には同じ数字が入ります。

{{{
#include <stdio.h>

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)条件を追加し、正しい答えだけが表示されるようにしなさい。[応用課題]

上のプログラムをコピーして使ってもよいが、慣習にしたがい美しいプログラムにしあげること。

ヒント
main関数は public static void main(String[] args) に変わります。
keta関数にも static 修飾子を付けてください。

プログラムのファイル名は Lesson2.java とし、正しく実行できることを確かめてから、Lesson2.javaファイルを提出しなさい。
    * 問題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)

リスト処理

リストの修正, メソッドによるリストの修正

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ファイル


2008の内容の残り

やり残したこと

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


古い資料(2000年ごろ)

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