Javaによるプログラミング演習
2002/04〜2002/09
2002/10〜2003/02

末広ページへ このコーナーの目次へ
最新情報へ

 『Internet Language3 Java入門』河西朝雄著,技術評論社を教科書として,プログラム演習をします。

教科書 
Internet Language3 改訂新版 Java入門

著者 河西朝雄

発行 技術評論社


講師:

斎藤末広

目標:

 Java言語を利用して,プログラムの作成に慣れる。Java言語を得意な言語にする。

授業の進め方

 教科書に従って,プログラム作成をどんどん行っていく。個別学習・実習が基本。プログラムが得意になりたければ,授業以外でも勉強すること。週に数時間の勉強ではプロにはなれない。

 授業中は,末広ページの伝言板を頻繁にみること。関係する項目は,この授業のページに後日まとめて整理される。授業中,質問があれば,口頭,伝言板すること。授業中でなければ,メールを利用して質問をすること。

 友達のプログラムをコピーするのは禁止。逆に,過去の自分のプログラムはできるだけ,コピーして作成すること。

Javaプログラミング作法(学習時)

 import で、* を使用しない。
 サンプルで名前が変更出来るところは,すべてx付きの名前にする
 段付けは4空白とする
 // コメントを入れる

 


コンパイラ設定

第1章 test1p22〜p25test2test3

第2章

第3章,第4章,第5章,第6章,第7章,第8章


期末テスト

 Javaプログラムの理解度を測る期末テストを実施する。

 期末テスト範囲 教科書のうち,Jマガ15号から23号で扱ったものに限る。

 教科書,資料,ノート,国語辞典持ち込み可能。
 携帯電話禁止(時計代わり,辞書代わり等にも使用禁止)

テスト問題は,次のような問題文で出題される。

 以下のプログラムで,x付きにできるところを○で囲め
 以下のプログラムで,使用しているクラス,インスタンス名を列挙せよ
 左右のプログラムを比較しながら,○○のプログラムの書き方を説明せよ。
 ○○で,文字の色を○○にして,表示するプログラムを書け。

 


授業詳細


コンパイル設定

 Jマガ2号を参考,j2sdk1.4 をインストールする場合,また,dドライブにインストールした場合は,jstart.bat を修正すること。

 c:\iwork は,自分のJava学習用フォルダ(例 d:\s52saito\jwork)
 c:\jdk1.3\bin は,インストールした先,(例 d:\j2sdk\bin)

rem Javaの開発作業を開始するにあたっての設定を行う。
path %path%;c:\jwork;c:\jdk1.3\bin
doskey
command

 コンパイルの動作テストは,xHello.java(Jマガ2号収録) を使用すること.。以下のプログラムをコピー&貼り付けをして利用すること。

public class xHello {
    public static void main(String [] xargs){
        System.out.println("Hello");
    }
}

 岐阜大学の場合はすでに設定済み,Linux環境でコンパイルすること


第1章 Javaの概要

test1を入力して実行する。

 test1.htm と test1.java を入力する。test1.htm の拡張子は,教科書では,html であるが,htm の3文字パターンを利用した方がよい。testt1.java の方はコンパイルをする。

 実行は,プロンプト画面で,appletviewer test1.htm と叩き(p19参考),動作させるとよい。IE 等のブラウザでもいいが,修正前のプログラムがキャシュに変更が反映されないときがある。

 岐阜大学Linux環境では,ネットスケープでも実行できる。シフトキーを押しながら「再読み込み」ボタンを押すと,キャシュがクリアされて,新しくアプレットが読み込まれる。

p22〜p25 はとばす

 サンプルが動作させにくい。解説も難しいので,後で読み直して分かればよい。

test2

 test1.htm と test1.java をそれぞれコピーして,test2.htm と test2.javaに名前を変えてから開始する。

 注意:友達の入力したプログラムはコピーしない。自分の入力したものをコピーする。それを繰り返すことで,自分の中で「プログラミング力の種」ができてそれが育つ。

test3

 test2.htm と test2.java をそれぞれコピーして,test3.htm と test3.java と名前を変えてから開始する。Color.whiteは,Color.red とするとよい。他の色でも可能。p359に色の一覧があるので,それを利用して試す。


第2章

例題1 for 文

 rei1.htm,rei1.java で作成する。以後例題のプログラムの名前は,rein.htm と rein.java とする。

 動作したら,rei1.java のプログラムを変形して研究をする。

 研究 好きに付けられない名前

 rei1.java のプログラムの中で,変数名等なにかの名前と思われるところに,すべてにx を付けてみて,コンパイルして試す。エラーが発生する最初の行のコンパイルエラーを控える。エラーが発生するところのxを取り,再度コンパイルをかけて,順番に調べていく。どこまで,名前が自分で変更可能か調べることこのプログラムは先生より重点的に説明あり。

 ここで読もう解説 Jマガ16号 アプレット研究,好きな名称はどこまで可能か

 復習時に読もう解説 Jマガ5号に for文の説明あり

練習1 for 文

 名前は,dr1.htm と dr1.java とする。以後,練習のプログラムの名前は,drn.htm. と drn.java とする。

Q 空欄に何を入れたらいいのか,わかりません。

A 適当な数字をいれてテストしてみてください。20 * i なんかどうでしょうか?

例題2 直線

 Graphics g のところは,Graphics xg とすると良い。そうすることで,xg は好きな名前にできることが分かる。

 xg.drawLine は,xg に draw(描く)Line(線)をやってもらういう意味

練習2 格子

 空欄1,2とも xg.drawLine が入る。

例題3 画像表示

  import java.awt.* の * は,使用せず,教科書の説明1のように,書く。そちらの方がプログラムの読みとりがしやすくなる。

Q プログラムは正しいはずです。画像が表示されません。

A g.drawString で文字を表示させてください。文字が表示されていたら,プログラムは多分正しいです。次は,画像が,gif 形式でない可能性があります。末広ページの木の絵を名前をつけて保存(保存先は,プログラムと同一フォルダ)で,img1.gif と保存して実行してください。

 ここで読もう解説 Jマガ17号

練習3 画像の拡大・縮小

例題4 if 文

Q p45 if (i%2==0) を説明して下さい。

A i % 2 は,i を 2 で割った余りを求めます。剰余といいます。if (i%2 == 0) で,i が偶数ですか? と判断していることになります。比較するときは,Javaやcでは,== を使用しまます。

練習4 if 文

 復習時に読もう解説 Jマガ9号

例題5 Mathオブジェクト

 復習時に読もう解説 キャスト Jマガ12号 キャストはプログラムに慣れていないと難しいので後で学習すればよい。

 Mathオブジェクトは,Jマガで解説予定

練習5 直線の回転

 復習時に読もう解説 データ型 Jマガ10号

例題6 配列

Q 画像が6つ必要です。ありませんか?

A 自分で書くか,フリーの画像を利用してください。次のものを利用してもいいです。

 
http://www.alles.or.jp/~queen/main00.html より

練習6 配列

p56 の空欄は?

 1と2は,配列の宣言です。p54 の「文例」を参考にして下さい。

 ここで読もう解説 Jマガ18号

棒グラフ

 練習2をコピーしてやるとよい。bargraph.htm と bargraph.java で作成する。


第3章(以後整理中)

p58 終わったら p69まで飛ばす。

 第3章に入ります。次に入力・実行するプログラムは,p70 です。その間のページは,分かったら読んでください。時期をみて解説をします。

例題7 パラメータ渡し

p74 のあと

練習7

Q コンパイルは成功しましたが、動作しません。

A 空白にいれるものが違っています。考えてください。

p75〜p77 は飛ばしてもよい


第4章 イベントドリブン・プログラム

例題8

 ここで読もう解説 Jマガ第20号解説予定

 p84 の「JDK1.0でのイベント処理」は飛ばしてもよい

練習8

Q 練習8がわかりません。

A 例8と比較してください。さらに,82ページの表4.1を利用して考えてください。

練習9

Q p91 練習9のゴミ箱の画像はどうしましょうか?

A 窓の飾り職人 にゴミ箱の画像があるので,利用するのもいいと思います。 拡張子が,ico となっていますが,中身は gif ですので,Java で利用するときは,拡張子を gif にするといいです。

Q p92 空欄の数字を 100 ,100 としてテストすると,100の位置に表示されてもいいと思うのですが。

 

例題10

Q 例10をコンパイルするとクラスがクラスがよぶんに作成されます。いいですか?

A いいです。実行するために下働きをするためのものです。専門用語では内部クラスといいます。

例題11

Q 例題11のコンパイルができません

A  case e.VK_UP のところを KeyEvent.VK_UP のようにしてください。ここは,実質的には矢印キーを押したときに発生する文字コード(整数)が入ります。この整数は,e は保持していなく,分身(インスタンス) eではなく,本体のKeyEvetが保持しています。

 解説 switch 文 Jマガ9号

練習11

coffee greak 色を徐々に変える文字

 文字をHTMLからパラメータで渡すように直して,自分のホームページで利用しよう。


第5章 GUI部品

p159 3行目,cen="" が正しい,

第8章

 Q 波文字のバックカラーの変え方?


終了後

 Q 「波文字」と「色を徐々にかける文字」を合体すると,自分のパソコンでは動作するが,サーバにあげると動作しない。


後期(日本総合ビジネス専門学校の学生のみ)

各自テーマを決めて,Java のプログラムを作成する。


参考

 ジャバ辞典(当ウェブ内)

 JDK1.3仕様(日本語) JDK1.3 ドキュメント(@サン・マイクロシステム社
 言語仕様(英語) ジェームズ ゴスリング他 著
 言語仕様(日本語)マルチメディア/ハイパメディア調査研究委員会

 メールマガジン『JavaScript & Java で目指そう!基本情報技術者試験』編集:斎藤末広

先輩からのコツ伝授

 全角スペースの混入からのコンパイルエラーが発見が困難だった。それを発見できる専用のエディターを利用するといいと思う。

 インデントはタブキーを利用する。変数のつけ方を極める。

 パーツに分けて,パーツごと作成。そらから組み立てます。言語が持っている便利な機能を積極的に利用する。

 本のサンプルプログラムを入力するときに本文の内容もコメントしていれるとよい。分かりやすいところから手をつけてだんだんやっていると分かりやすい。

 一塊50行程度で分割。//** コメントを活用するとよい。

 本に載ってるサンプルは,数値を変えたりして変形して試してみてから利用すとよい。import 文のところで分からなければ削除してコンパイルして調べる。



Q&A

Q コンパイルエラーが多すぎて,画面がスクロールして見えない。

A コンパイルのときにオプションを付けることにより,画面に出さずに,ファイルにエラーリストを出すことが可能です。

 使用しているコマンド入力画面の仕様にとコンパイラのバージョンによって対応が変わります。日本総合ビジネスの授業で使用しているバージョンは,1.4 ですので,以下のようにコンパイルをすれば画面に表示される代わりに,err.lst に書き出されます。(岐阜大学のlinux環境ではエディターの機能でエラーをみることがででます)

Jマガ16号で紹介しているバッチファイルを利用して下さい。

ファイル名 jce2txt.bat

@echo off
rem エラーメッセージをファイルに書き出して,コンパイルをする
rem 1.2
rem javac -Xstdout %1 > err.txt
rem 1.4
javac -Xstdout err.txt %1
rem 1.3
rem oldjavac -J-Djavac.pipe.output=true %1 > err.txt

参考情報提供東海モンキーMYAOS

Q プログラムを修正したが,変わらない。

A プロンプト画面で,appletviewer xxxx.html で確かめてください。IEだと,変更したJavaアプレットは見えないときがあります。

Q appletviewer を実行すると,エラーがでます。

A 最初に実行するときに,設定用のファイルが読めないため,エラーとなります。そのまま使用してください。2回目からはエラーはでません。

Q appletviewer を実行しても何も表示されない。

A appletviewer xxx.java とやっていませんか? appletviewer xxx.htm としてください


授業アンケート(2002/7末 前期終了)

質問に関しての回答は,

1 全くそう思わない
2 あまりそう思わない
3 少しそう思う
4 そう思う
5 強くそう思う

集計結果

以下は,平均。数字が多いほどいい。

質問項目

岐阜大応用情報3年 日本総合ビジネス3年 日本総合ビジネス2年
(a) 講義目標は明確に示されたと思いますか。 3.9 2.1 2.1
(b) 講義内容は有意義であったと思いますか。 3.8 2.5 2.3
(c) 講義内容は分かり易かったと思いますか。 3.5 1.8 1.7
(d) 講義内容に興味が増したと思いますか。 4.0 2.7 2.7
(e) 教官は,学生の理解を促す努力をしたと思いますか。 4.0 1.9 1.9
(f) あなたは,学ぼうと努力をしたと思いますか。 3.6 3.0 3.5
(g) あなたは,学力が向上したと思いますか。 3.6 2.6 2.8
26.6 16.7 17.1

平均 

3.8 2.4 2.4

自由記入欄から

岐阜大学工学部応用情報学科3年

 去年の授業に比べて,すごく分かり易かったので,今回は前回に比べてがんばれたと思う。

 教科書が読みやすくて良かった。

 先生の説明も,教科書では,分らない所をポイントをまぜて教えていたので良かったです。

 教室だけでなく,家での学習でも先生のHPからポイントが分かり易く解説されていたので良かった。

日本総合ビジネス専門学校3年1組

 必要以上に生徒に接しようとする所が一番印象的

 まあまあ楽しかったです。

 本をきちんとえらんでほしい!

 もう少しいい本を使いたい。

 もうちょうっとしっかり本を選んでほしかった。理解してない人は何も分らないままだったと思う。

 難しくてよくわからない。

 設問に関する回答は真面目に答えてたつもりです。本当に分らないから。理解しようと努力はしたつまりですが,何をいっているのか分らなかったです。解説きいても分らないし。もう知らんです。

 Java よりも試験テストのほうが好きだった。Java の知しきはあまりつかなかった

日本総合ビジネス専門学校2年1組

 自主制で教官の存在理由が分らない。授業より内職している教官であった。


spage@yscon.co.jp

末広ページへ このコーナーの目次へ