welcome: please sign in
location: "Java"の差分
65と267のリビジョン間の差分 (その間の編集: 202回)
2009-09-27 01:37:23時点のリビジョン65
サイズ: 4359
編集者: masahiko
コメント:
2012-03-27 05:09:20時点のリビジョン267
サイズ: 2618
編集者: masahiko
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 1: 行 1:
#acl All: == Javaプログラミング演習 ==
行 3: 行 3:
Java(応用プログラミングA)資料、課題はmoodleにあります。 プログラミング関連の授業で使用した資料です。
行 5: 行 5:
=== 授業目標 ===
 Java言語によるプログラミングの演習をとおして、プログラミングにおける動的あるいは静的なものごとの考え方を学びます。
=== 授業概要 ===
 Java言語を使ったプログラミングの演習を行い、クラス、オブジェクト、構造について学びます。
 授業ではパソコンや学内ネットワークシステムを利用します。
=== 授業計画(2009年度の内容) ===

||1||Java概要||[[Javaとはどんな言語なのか]], [[処理系の使い方]]||[[Java課題01]]||
||2||Cとの相違||[[プログラムの書き方]], [[表示のための命令]], [[Javaの構文]], [[基本データ型]]||[[Java課題02]]||
||3||変数||[[オブジェクト]], [[配列]], [[変数の宣言と初期化]]|| ||
||4||文字列|| arg[] || ||
||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つある星の場所には同じ数字が入ります。

{{{
#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ファイルを提出しなさい。
=== Java概要 ===
 . [[Javaとはどんな言語なのか]]
 . [[処理系の使い方]]
=== プログラムの基本 ===
 . [[プログラムの書き方]]
 . [[Javaの構文]]
 . [[基本データ型]]
 . [[変数の宣言と初期化]]
 . [[算術演算]]
 . [[表示のための命令]]
 . [[定数の宣言]]
 . [[論理式]]
 . [[数学関数]]
=== オブジェクトとメソッド ===
 . [[基本型以外のデータ]]
 . [[String]]
 . [[配列の宣言と初期化]]
 . [[配列]]
 . [[オブジェクト]]
 . [[メソッド呼び出しの方法]]
=== 入出力 ===
 . [[既存のクラスを利用する]]
 . [[ファイル入力]]
 . [[キーボードからの入力]]
=== クラスとインスタンス ===
 . [[クラス]]
 . [[クラスの定義]]
 . [[アクセス修飾子]]
 . [[メソッド]]
 . [[コンストラクタ]]
=== リスト処理 ===
 . [[オブジェクトをつなぐ]]
 . [[つながったオブジェクトを表示する]]
 . [[オブジェクトを沢山つなぐ]]
 . [[オブジェクトをつなぐメソッド]]
 . [[オブジェクトを除くメソッド]]
 . [[線形リスト]]
 . [[線形リストの操作]]
 . [[継承]]
 . [[継承の例]]
 . [[複数クラスのコンパイル]]
 . [[リスト処理の演習]]
=== まとめと補足 ===
 . [[まとめと補足]]
 . [[break文]]
 . [[コマンドライン引数]]
=== グラフィックス ===
 . [[Swing]]
 . [[ウインドウの表示]]
 . [[ウインドウの内容]]
 . [[APIを調べる]]
 . [[画像を表示する]]
 . [[イベントドリブン]]
=== 応用 ===
 . [[15ゲーム]]
 . [[15ゲーム作成]]
  1. 画像を表示する。[[画像を表示する(2)]]
  1. 画像の使う位置と表示位置を指定して表示する。[[画像を表示する(3)]]
  1. マウスのボタンが押された位置を読み取る。[[クリック時の処理(1)]]
  1. マウスのボタンがどのピースの位置で押されたか判定する。[[クリック時の処理(2)]], [[色]]
  1. 盤の状態と配列の対応を理解する。[[盤の表現]]
  1. 配列の内容に応じて表示を行う。[[盤の表示]]
  1. クリックした位置に応じてピースの移動を行う。[[ピースを動かす]]
  1. 全体がうまく並べられたか判定する。 [[解のある配置を作る]]
 . [[応用課題]]
=== その他 ===
 . [[Jarファイル]]
 . [[クラスを利用する]]
 . [[アプレット]]

Javaプログラミング演習

プログラミング関連の授業で使用した資料です。

Java概要

プログラムの基本

オブジェクトとメソッド

入出力

クラスとインスタンス

リスト処理

まとめと補足

グラフィックス

応用

その他

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