Java 入門 4 Java 入門 4 - ファイルを読む Version 1.01 Kyosuke Yanai Copyright(c) 2010 Kyosuke Yanai

Size: px
Start display at page:

Download "Java 入門 4 Java 入門 4 - ファイルを読む Version 1.01 Kyosuke Yanai Copyright(c) 2010 Kyosuke Yanai"

Transcription

1 - ファイルを読む Version 1.01 Kyosuke Yanai Copyright(c) 2010 Kyosuke Yanai

2 目 次 1 はじめに テキストファイルについて ディレクトリとファイル 絶対パス 相対パス ファイル テキストファイル ファイルを扱うクラス パッケージ パッケージ名 デフォルトパッケージ package 文 import 文 package を作ってみましょう パッケージ内でクラスを作ってみましょう テストファイルを読む手順 テキストファイルの内容を読むための概略手順 File インスタンスを作成する FileReader インスタンスを作成する BufferedReader インスタンスを作成する テキストファイルの内容を読む BufferedReader クラスの readline メソッド テキストファイルの内容を readline を使って読む while 文 テキストファイルの内容を読む例 テキストファイルを読む処理の実装 eclipse でテキストファイル読み込みプログラムを作成 プロジェクトの作成 パッケージの作成 TextFileReader クラスの作成 TextFileReader クラスの編集 import 文の挿入 filepath 変数の宣言 コンストラクタの追加 readalltext メソッドの追加 ソースコードに問題が?...24 Copyright(c) 2010 Kyosuke Yanai i

3 4.5 例外処理 例外とは 例外は投げたりキャッチしたり 例外処理の記述方法 例外処理の追加 TextFileReader を使うクラスを作成 テキストファイル読み込みプログラムを実行 テキストファイルを作成 Sample クラスの実行 例外発生を試す 演習 例外処理の記述 付録 Java api の参照 java.io.bufferedreader の仕様を見てみましょう 改定履歴 索引 Copyright(c) 2010 Kyosuke Yanai ii

4 1 はじめに 本テキストでは テキストファイルを読む方法を学びます 関連して以下のことも学びます ファイルのパス パッケージ File クラス FileReader クラス BufferedFile クラス 例外処理 制御文 while 1.1 テキストファイルについて テキストファイルの前に まずは ディレクトリとファイルの話から始めます ディレクトリとファイルファイルは ハードディスクや USB デバイスなどに記録されたデータをひとまとまりとして扱う単位です ファイルは 何らかのディレクトリ 1 の下に配置されます ファイルの下にはファイルやディレクトリを配置できませんが ディレクトリの下には さらにディレクトリを配置できます つまり ディレクトリは階層構造となります ファイルを扱いにはファイルの所在を知る必要があります ファイルの所在は どのディレクトリに配置されているかで示します パス(path) ディレクトリやファイルの所在を示すものを パス (path) といいます path は 英語で小道 道筋 経路などの意味です ディレクトリのパスは 一番上の階層のディレクトリ (root ディレクトリ ) から階層をたどってゆくように示します root ディレクトリは "/"( スラッシュ ) で示します また ディレクトリ名を "/"( スラッシュ ) で区切って階層をあらわします これをディレクトリのパス (path) といいます ファイルのパスは ディレクトリのパスに "/"( スラッシュ ) とファイル名を続けて示します ファイルのパス = ディレクトリパス + "/" + ファイル名 ファイルの所在をルートディレクトリからのパスで記述した例を図に 示します 1 Windows ではフォルダと呼ばれています 1

5 / /home /home/sato /home/sato/report.doc report.doc root home sato rose.jpg /home/sato/rose.jpg /home/tanaka/letter.doc tanaka letter.doc /home/tanaka /usr/bin/ruby usr bin ruby /usr /usr/bin 図 1-1 ディレクトリ階層とファイルのパスの例 絶対パス ルートディレクトリからのパスのことを 絶対パス といいます 相対パスあるディレクトリを基点としたパスのことを 相対パス といいます このとき 基点とするディレクトリを カレントディレクトリ (Current Directory) と呼ぶことがあります ディレクトリ階層やファイルを処理するプログラムでは 特定のディレクトリを基点にその下のディレクトリやファイルを処理することが多いです その基点となるディレクトリを 現在基点としている という意味で カレント (Current) と呼んでいます 相対パスで示されるディレクトリやファイルの絶対パスは カレントディレクトリのパスと相対パスから求めることができます 絶対パス = カレントディレクトリパス + "/" + 相対パス 上記のディレクトリ階層の中で "/home" ディレクトリを基点とした場合の 各ディレクトリ ファイルの相対パスを次に示します 図に示すように 相対パスの先頭には "/"( スラッシュ ) がありません 2

6 基点 sato sato/report.doc report.doc root home sato rose.jpg sato/rose.jpg tanaka/letter.doc tanaka letter.doc tanaka usr bin ruby 図 1-2 "/home" ディレクトリを基点とした場合の相対パス ファイルシステムの中でディレクトリやファイルを特定するには ( 最終的には ) 絶対パスを知 る必要がありますが ファイルファイルは ハードディスクや USB デバイスなどに記録されたデータをひとまとまりとして扱う単位です ファイルには次のような属性があります ファイル名 ファイルサイズ 所有者やアクセス権 作成日時 更新日時 テキストファイルテキストファイルは 文字型データ 2 で構成されたファイルです テキストファイルは Window の場合 メモ帳で扱うことができます Windows の場合 つぎのような拡張子を持ったファイルがよく知られています 2 改行文字やタブ文字などを含みます 3

7 表 1-1 テキストファイルの例 拡張子 ファイル種別 概要.txt テキストファイル 内容に特にルールが無いテキストファイルです.csv CSV ファイル CSV は Comma Separated Value ファイルの略です ","( カンマ ) でデータを区切って記述するルールがあります 詳しくは を参照し てください.html HTML ファイル HTML は HyperText Markup Language の略です HTML 規約に従った記述がされます.xml XML ファイル XML は extensible Markup Language の略です XML 規約 ( ) に従った記述がされます.css スタイルシート CSS は Cascading Style Sheets の略です HTML ファイルに見栄えの情報を与えるファイルです 1.2 ファイルを扱うクラス Java にはファイルを読んだり書いたりするためのクラス群が用意されています 下記に テキストファイルを読むのによく使われるクラスをリストします Java のさまざまなクラスの仕様の詳細は 下記のサイトに載っていますのでご覧ください (1) File クラス ( 正式名 = java.io.file) ファイルとディレクトリを扱うためのクラスです このクラスを使って ディレクトリの作成 ディレクトリ配下のファイルの一覧 パスの処理などを行います このクラスだけでは ファイルの内容を読んだり書いたりすることはできません (2) FileReader クラス ( 正式名 = java.io.filereader) テキストファイルの内容を読むための基本的な機能を持ったクラスです (3) BufferedReader クラス ( 正式名 = java.io.bufferedreader) FileReader をより使いやすくしたクラスです 行単位に文字列を読み込むことが簡単にできます これらのクラスの正式名には すべて頭に "java.io" という文字列がついています これはい ったいなんでしょう? これは パッケージ名と呼ばれるものです 4

8 2 パッケージ 世界中で Java は使われています Java で作られたクラスは 公開され さまざまなシステムやプロジェクトで使われます このとき クラス名が重複してしまうことが十分考えられます パッケージは クラス名が重複しないように考えられた仕組みです 次のように あるクラスが どのパッケージに属するかをしめした 完全修飾クラス名 というものを考えます 完全修飾クラス名 = " パッケージ名 " + "." + " クラス名 " 図 2-1 完全修飾クラス名 完全修飾名はパッケージ名とクラス名を "."( ドット ) で繋いだものです これによって クラ ス名が重複することを防ぎます パッケージは 単にクラス名が重複することを防ぐだけではなく 次のように利用されます クラス名の重複を防ぐ パッケージ単位でクラス群を管理する パッケージ単位で公開する パッケージ内 パッケージ間のクラスのアクセス権を管理する NOTE ちなみに パッケージは Java だけではなく C++ や C# でも採用されている仕組みで す 2.1 パッケージ名完全修飾名でクラス名の重複を防ぐ といいましたが パッケージ名は重複する心配はないのでしょうか 実は パッケージ名が重複しないようにパッケージ名についての慣例があります プロジェクトが属する組織のドメイン名やドメイン名を逆順にした名前をパッケージ名にします パッケージ名にさらにプロジェクト名やサービス名を付加します NOTE java の標準的なパッケージ名は java.lang, java.io, java.net などとなっています NOTE ドメイン名(Domain Name) は 世界中のネットワークに存在する個々のコンピュータを識別する名前に使われます 重複しないように ICANN(The Internet Corporation for Assigned Names and Numbers) で一元管理されています ICANN = 5

9 パッケージ名の例を示します jp.co.companyname jp.co.companyname.projectname jp.co.companyname.projectname.servicename com.sfsnet.groupname com.sfsnet.groupname.projectname 図 2-2 パッケージ名の例 デフォルトパッケージこれまで演習などで作成してきたクラスは パッケージが使われていません たとえば Hello クラスなどは どのパッケージにも含まれていません どのパッケージにも含まれていないクラスは デフォルトパッケージ に格納されます 名前の重複を起こしやすいので デフォルトパッケージ を使うことは推奨されていません package 文あるパッケージに含まれるクラスを宣言するためには クラスのソースコードの先頭に そのクラスが含まれるパッケージ名を宣言する必要があります 書き方は次の通りです 他の文と同様に 最後に ";"( セミコロン ) を書きます package パッケージ名 ; 図 2-3 package 宣言 import 文あるクラスが そのクラスが属しているパッケージとは別のパッケージのクラスを使用する場合 import 文で宣言します import 文は package 文の後に書きます NOTE import 文で宣言しなくても 使用する箇所で 完全修飾クラス名 を記述すれば正しく使用できますが 何度も使用する場合 非効率的ですね 書き方は次の二通りです 他の文と同様に 最後に ";"( セミコロン ) を書きます 完全修飾クラス名を書く import パッケージ名. クラス名 ; 図 2-4 完全修飾クラス名を import 6

10 パッケージ名を書くパッケージ名の後に "."( ドット ) と "*"( アスタリスク ) を続けて書きます import パッケージ名.*; 図 2-5 パッケージ名を import NOTE パッケージ名を書いた場合には そのパッケージに含まれるすべてのクラスが import されます 例外的に import 文を書かなくて良いケース なお そのクラスと同じパッケージ 3 の場合と java.lang パッケージに属するクラスを使用する場合には import 文を省略できます たとえば String クラスは実は java.lang.string クラスなのですが この例外にあてはまるので import 文を書かなくても良いのです System クラスも java.lang.system なので同様です 2.2 package を作ってみましょうでは ここで eclipse を使ってパッケージを作ってみましょう パッケージ名は jp.lites.study.java としてみましょう (1) プロジェクト java_04 を作ります 新規 >> プロジェクト でこれまでと同様に作成します (2) プロジェクト java_04 の src ディレクトリを選択し 右クリックで 新規 >> パッケージを選択します 3 デフォルトパッケージの場合も含みます 7

11 図 2-6 パッケージの新規作成 (1) (3) 新規 Java パッケージ ウィンドウで jp.lites.study.java を入力し [ 完了 ] ボタンを選択 します 図 2-7 パッケージの新規作成 (2) src ディレクトリにパッケージ jp.lites.study.java が生成されます 2.3 パッケージ内でクラスを作ってみましょう つぎに 作成したパッケージ内でクラスを作ってみましょう (1) プロジェクト java_04 のパッケージ jp.literas.study.java を選択し 右クリックで 新規 >> クラスを選択します 8

12 図 2-8 パッケージ内クラスの新規作成 (1) (2) 新規 Java クラス ウィンドウで名前欄に Sample を入力し [ 完了 ] ボタンを選択しま す 図 2-9 パッケージ内クラスの新規作成 (2) 9

13 パッケージ jp.lites.study.java にクラス Sample が生成されます Sample クラスの内容を見 てください package jp.lites.study.java; という文がありますね package jp.lites.study.java; 図 2-10 パッケージ内クラス Sample 以上のように eclipse を使うと簡単にパッケージと パッケージに含まれるクラスを作成す ることができますね 10

14 3 テストファイルを読む手順 ここでは テキストファイルを読む基本的な手順を学びます 先に説明した File FileReader BufferedReader クラスを使用します 3.1 テキストファイルの内容を読むための概略手順 テキストファイルの内容を読むための概略手順を図に示します (1) ファイルパスを指定して File インスタンスを作成する (2) File インスタンスを指定して FileReader インスタンスを作成する (3) FileReder インスタンスを指定して BufferedReader インスタンスを作成する (4) BufferedReader の readline() メソッドを使ってテキストファイルの内容を読む 図 3-1 テキストファイルの内容を読むための概略手順 各ステップについて詳しく説明します File インスタンスを作成する File クラスのコンストラクタに ファイルパスを指定します String filepath = " ファイルパス "; File file = new File(filepath); 図 3-2 (1) File インスタンスを作成する FileReader インスタンスを作成する FileReader クラスのコンストラクタに 生成した File インスタンスを指定します FileReader filereader = new FileReader(file); 図 3-3 (2) FileReader インスタンスを作成する 11

15 3.1.3 BufferedReader インスタンスを作成する BufferedReader クラスのコンストラクタに 生成した FileReader インスタンスを指定します BufferedReader breader = new BufferedReader(fileReader); 図 3-4 (3) FileReader インスタンスを作成する テキストファイルの内容を読む テキストファイルの 1 行分のテキストを読むには redline メソッドを使います String line = nbreader.readline(); 図 行分のテキストを読む ただし 読もうとしているテキストファイルの内容が1 行のテキストだけ ということはありませんね 次のことを考えておかなくてはなりません ファイルには何も無い 空 ( から ) のファイルかもしれません 複数行のテキストファイルかもしれません テキストフィルの内容を最初から最後まで読む処理は 一般的には テキストフィルを最後まで読んだら 読むのをやめる という処理をします readline メソッドの仕様を少し詳しく見てみましょう 詳しい仕様の見方は 7.1.1java.io.BufferedReader の仕様を見てみましょう を参照してください BufferedReader クラスの readline メソッド readline メソッド 宣言 : public String readline() 機能 : テキスト行を読み込みます 1 行の終端は 改行 (' n') か 復帰 (' r') または復行とそれに続く改行のいずれかで認識されます 戻り値 : 行の内容を含む文字列を戻します ただし行の終端文字は含めません 終わりに達している場合は null を戻します テキストファイルの内容を readline を使って読む readline メソッドでテキストファイルの内容を読みますが readline メソッドから null が戻ってきたら読むのを止めるようにします つまり readline メソッドから null が戻ってくるまで 繰り返して readline メソッドを呼び続けるという処理をするのです 12

16 繰り返し処理については すでに for 文を紹介しました for 文を使って この繰り返し処理をすることはできますが 次に紹介する while 文を使うともっと素直に処理をすることができます 3.2 while 文 while 文の構文を図に示します while 文の構文 while ( 式 ) { 処理 A 図 3-6 while 文の構文 処理を繰り返します while 文では 式で指定した条件が true の間 ブロック内の処理 A を 繰り返し実行します テキストファイルの内容を読む例 では さきほど説明した テキストファイルの内容を読む処理を while 文を使って書い てみましょう while 文の使用例 行 処理 String line; while ((line = breader.readline())!= null) { System.out.println(line); breader は BufferedReader のインスタンスを参照しているものとします 図 3-7 while 文の使用例 2 行目の括弧内の式に着目してください (line = breader.readline())!= null line に breader.readline メソッドで読み込んだ1 行分の文字列が格納されます テキストファイルの最後まで読んで これ以上の行データが無いと null が格納されます この読み込んだ結果が null でないと true になります null になると false になります ですから この式の値は 文字列を読み込んでいる間は true で もう読み込む行データがなくなると false になります ということで テキストファイルの内容を読み込んでいる間 読み込んだ文字列を System.out.println(line); でコンソールに表示しつづけることになります 13

17 3.3 テキストファイルを読む処理の実装 では これまで学んだことに基づいてテキストファイルを読む処理を書き下してみましょう テキストファイルを読む処理の例 行 処理 File file = new File(" ファイルパス "); FileReader filereader = new FileReader(file); BufferedReader breader = new BufferedReader(fileReader); String line; while ((line = breader.readline())!= null) { System.out.println(line); 図 3-8 テキストファイルを読む処理の例 だいたいの処理は こんなところですね では 実際にテキストファイルを読むプログラムを作成してみましょう 実行結果を確認しやすいように読んだ内容をコンソールに出力する機能を実装しましょう クラス構成例を図に示します なお パッケージ名は jp.lites.study.java とします Sample TextFileReader - String filepath + main(string[] args): void + TextFileReader(String filepath) + readalltext(): void 図 3-9 テキストファイルを読むプログラムのクラス構成 ( 例 ) Sample クラスは main メソッドを持ち TextFileReader を使います TextFileReader クラスが 指定されたテキストファイルを読み込んで コンソールにその内 容を出力します TextFileReader クラスの実装例を次に示します (1) パッケージ名 jp.lites.study.java (2) クラス名 TextFileReader (3) 属性読み込むテキストファイルのパスを保持する filepath という String 型の属性を持ちます 14

18 (4) メソッド 1) コンストラクタ TextFileReader, 引数は String 型のデータ具体的な引数は 読み込むテキストファイルのパスになります 2) 操作 readalltext, 引数なし, 戻り値なしこのメソッドで テキストファイルを読み込んで その内容をコンソールに表示します TextFileReader のコード例を示します line リスト 3-1 TextFileReader のコード例 TextFileReader.java package jp.lites.study.java; import java.io.file; import java.io.filereader; import java.io.bufferedreader; public class TextFileReader { private String filepath; public TextFileReader(String filepath) { this.filepath = filepath; public void readalltext() { File file = new File(filePath); FileReader filereader = new FileReader(file); BufferedReader breader = new BufferedReader(fileReader); String line; while ((line = breader.readline())!= null) { System.out.println(line); 15

19 1 行目 パッケージを宣言します 3~5 行目 使用するクラスを import します 9 行目 ファイルパスを保持する String 型のメンバー変数 filepath です 11~13 行目 コンストラクタです ここで 特に12 行目に着目してください this.filepath = filepath; this は 現在実行中のインスタンスを示します ですから 左辺の this.filepath は TextFileReader インスタンスの filepath 変数 (9 行目の変数 ) を示すことになります 右辺の filepath は 11 行目に書かれているコンストラクタへの引数である filepath のことです その結果 コンストラクタへの引数である filepath が TextFileReader インスタンスの filepath にコピーされるのです 15~27 行目 先に示したテキストファイルを読む処理の例をもとに readalltext メソ ッドにしました 16

20 4 eclipse でテキストファイル読み込みプログラムを作成では これまでの内容を元に テキストファイル読み込みプログラムを作成しましょう 本テキストに基づいて先に作成したサンプルの jp.lites.study.java パッケージが残っている場合は パッケージ作成までの作業をスキップしてください 4.1 プロジェクトの作成 プロジェクト名は java_04 としましょう (1) [ ファイル >> 新規 >> Java プロジェクト ] を選択します 図 4-1 Java プロジェクトの作成 (1) (2) 新規 Java プロジェクトウィンドウでプロジェクト名 java_04 を入力し [ 完了 ] ボタン を選択します java_04 図 4-2 Java プロジェクトの作成 (2) 17

21 (3) パッケージエクスプローラに java_04 が表示されます 図 4-3 Java プロジェクトの作成 (3) 4.2 パッケージの作成作成したプロジェクト java_04 にできている src ディレクトリの下に パッケージ jp.lites.study.java を作成します (1) src ディレクトリを選択し 右クリックで [ 新規 >> パッケージ ] を選択します 図 4-4 パッケージの作成 (1) 18

22 (2) 新規 Java パッケージウィンドウで 名前に jp.lites.study.java を入力し [ 完了 ] ボタン を選択します jp.lites.study.java 図 4-5 パッケージの作成 (2) 4.3 TextFileReader クラスの作成 では TextFileReader クラスを作成しましょう (1) jp.lites.study.java パッケージを選択し 右クリックで [ 新規 >> クラス ] を選択します 図 4-6 TextFileReader クラスの作成 (1) 19

23 (2) 新規 Java クラス ウィンドウで 名前に TextfileReader を入力し [ 完了 ] ボタンを 選択します TextFileReader 図 4-7 TextFileReader クラスの作成 (2) TextFileReader クラスが生成されます 図 4-8 TextFileReader クラスの作成 (3) 20

24 生成された TextFileReader クラス (TextFileReader.java ファイル ) の内容は次のようになっ ています line リスト 4-1 生成されたばかりの TextFileReader.java 生成されたばかりの TextFileReader.java package jp.lites.study.java; public class TextFileReader { これを リスト 3-1 TextFileReader のコード例に示したように編集します 4.4 TextFileReader クラスの編集 TextFileReader クラスの編集の概要はつぎのとおりです line リスト 4-2 package jp.lites.study.java; public class TextFileReader { TextFileReader.java の編集概要 TextFileReader.java の編集概要 import 文を挿入します filepath 変数コンストラクタ readalltext メソッドを追加します では eclipse のエディタで編集を始めましょう import 文の挿入まず import java.io.file; を追加します eclipse のコードアシスト機能を使うと間違いが少なくてすみます import java.io. まで入力してみてください "."( ドット ) までです すると図のように java.io パッケージに含まれるクラスの一覧が表示されます そこで "File java.io" を選択するとテキストウィンドウに入力されます 文の最後の ";"( セミコロン ) を忘れないようにしましょう 21

25 File を選択します 図 4-9 import java.io.file; 文の入力 同様に import java.io.filereader; import java.io.bufferedreader; を入力します filepath 変数の宣言 filepath 変数を宣言します リスト 4-3 TextFileReader.java filepath 変数の宣言 line TextFileReader.java filepath 変数の宣言 package jp.lites.study.java; import java.io.file; import java.io.filereader; import java.io.bufferedreader; public class TextFileReader { private String filepath; filepath 変数の宣言 コンストラクタの追加 コンストラクタを追加します 22

26 リスト 4-4 TextFileReader.java コンストラクタの追加 line TextFileReader.java コンストラクタの追加 package jp.lites.study.java; import java.io.file; import java.io.filereader; import java.io.bufferedreader; public class TextFileReader { private String filepath; public TextFileReader(String filepath) { this.filepath = filepath; コンストラクタ readalltext メソッドの追加 readalltext メソッドを追加します リスト 4-5 TextFileReader.java readalltext メソッドの追加 line TextFileReader.java readalltext メソッドの追加 package jp.lites.study.java; import java.io.file; import java.io.filereader; import java.io.bufferedreader; public class TextFileReader { private String filepath; public TextFileReader(String filepath) { コンストラクタ this.filepath = filepath; public void readalltext() { File file = new File(filePath); 23

27 line TextFileReader.java readalltext メソッドの追加 FileReader filereader = new FileReader(file); BufferedReader breader = new BufferedReader(fileReader); String line; while ((line = breader.readline())!= null) { System.out.println(line); これで 予定していた TextFileReader クラスの編集が終わりました ソースコードに問題が? でも eclipse の画面をよく見てください 図のように赤い マークや マーク そし て赤い波線のアンダーラインが表示されています 図 4-10 eclipse の問題表示 eclipse では ソースコードに問題があると このようなエラー表示をしてくれます こ こでは 2 箇所に問題があるようですね 細かく一つずつ見ていきましょう 24

28 まず FileReader filereader = new FileReader(file); の行を見てみましょう 画面の左側の赤い マークの上にカーソルを持っていてください 図のようにメッセージが表示されます 図 4-11 処理されない例外の型 FileNotFoundException 処理されない例外の型 FileNotFoundException と表示されました これはいったい 何なのでしょう もうひとつ while ((line = breader.readline())!= null) { の行も見てみましょう 図 4-12 処理されない例外の型 IOException 処理されない例外の型 IOException と表示されました 上のメッセージと同じよう ですが 最後が FileNotFoundException IOException と違っています じつは これらのメッセージは (1) ここで呼び出している FileReader を実行すると例外 FileNotFoundException が発生する可能性があるので それを処理しなければなりません でも このソースコードでは どこにもその例外を処理するコードが書かれていません (2) ここで呼び出している readline を実行すると例外 IOException が発生する可能性があるので それを処理しなければなりません でも このソースコードでは どこにもその例外を処理するコードが書かれていません という意味なのです つまり このソースコードに 例外 FileNotFoundException と例外 IOException に対 する処理のコードをどこかに書かなくてはならないのです あと少しだと思ったのになんだか残念な気がしますが 仕方ありません 気を取り直して まず 例外がどんなものなのかを見ていきましょう 25

29 4.5 例外処理ファイルの入出力処理や通信処理などでは ハードディスクのエラーや通信上のエラーなどが発生することがあります ですから 実用的なプログラムを作成するうえでは エラー処理がどうしても必要になります なにもかもが理想的で 正常にことが運ぶのであれば プログラムのコードはとても小さくてすみます でも エラー処理を追加するとなると とたんにコード量が増えます エラー処理コード量はプログラムコード全体の 80% に達するとも言われています プロフェッショナルかどうかの違いは このエラー処理をどこまでカバーするかの違いでもあるかもしれません NOTE ちなみに GUI を含むプログラムでは GUI コード量はプログラムコード全体の 70% 程 度になることがあります 例外とは Java や C# C++ などでは エラー処理を比較的簡単に行なうための 例外処理 のしくみが用意されています そのしくみにおいて 例外 (Exception) とは プログラムが本来行うべき処理を妨げるようなハードディスクエラー メモリ不足 通信エラー ユーザの操作ミス そしてプログラム自身のバグなどのことをいいます Java での例外のしくみと 私たちが書かなくてはならない例外処理について見ていきましょう 例外は投げたりキャッチしたりあるメソッド内の処理でなんらかのエラーが発生したときに それを呼び出し元に伝える必要があります Java での例外のしくみでは そのエラーを伝えるのに 例外オブジェクト を呼び出し元に投げることになっています これを 例外をスロー (throw) する といいます 例外を投げる ともいいます 投げられた例外は だれかがキャッチ (catch) しなければなりません 4 あるオブジェクトがメッセージを受けて その処理中にエラーが発生してから 例外が 呼び出し元によつてキャッチされる様子をイメージでみてみましょう 4 実はキャッチしないこともできるのですが これについては別途学びましょう 26

30 (1) オブジェクト B がオブジェクト C にメッセージを送る メッセージ メッセージ オブジェクト A オブジェクト B オブジェクト C 図 4-13 オブジェクト B がオブジェクト C にメッセージを送る (2) オブジェクト C が処理中にエラーが発生する メッセージ メッセージ 処理中にエラーが発生する オブジェクト A オブジェクト B オブジェクト C エラー 図 4-14 処理中にエラーが発生する (3) オブジェクト C が例外オブジェクトを生成する エラー情報を端的に表現できる例外オブジェクトを生成します つまり どんなエラー が発生したかで 生成する例外オブジェクトが違うのです メッセージ メッセージ 例外オブジェクトを生成する エラー オブジェクト A オブジェクト B オブジェクト C 図 4-15 例外オブジェクトを生成する (4) オブジェクト C がオブジェクト B に例外オブジェクトを投げる エラー 例外オブジェクトを投げる メッセージ 戻り オブジェクト A オブジェクト B オブジェクト C 図 4-16 例外オブジェクトを投げる 27

31 (5) オブジェクト B が例外オブジェクトをキャッチする エラー メッセージ 例外オブジェクトをキャッチする オブジェクト A オブジェクト B オブジェクト C 図 4-17 例外オブジェクトをキャッチする 例外処理の記述方法 ここで例外をキャッチして 処理するための書き方を説明します try - catch - finally と 呼ばれるキーワードを使います 構文は次の通りです try-catch-finally の構文 try { 例外が発生する可能性のある処理 A catch ( 例外 x 型名変数名 ) { 例外 x が発生した時にする処理 // キャッチする例外の分だけ catch を記述します catch ( 例外 z 型名変数名 ) { 例外 z が発生した時にする処理 finally { 例外が発生してもしなくても行う処理 B 省略できます 図 4-18 try-catch-finally の構文 (1) try try のブロックに例外が発生する可能性のある処理を記述します たとえば ファイルの 読み書きをするような処理をここに書きます (2) catch ( 例外 ) catch ブロックには 例外が発生した時に処理する内容を記述します たとえば エラー 28

32 メッセージを表示をする処理が考えられます catch ブロックは try ブロックで記述した処理で発生する可能性のある例外ごとに記述します (3) finally finally ブロックには 例外が発生しても 例外が発生しなくても行う処理を記述します つまり try ブロックでの処理が正しく終わっても 例外が発生しても どっちの場合でも finally ブロックに記述された処理が実行されます この finally ブロックの記述は省略できます 4.6 例外処理の追加 では TextFileReader クラスの編集に戻りましょう eclipse を使うと簡単に try -catch を挿入することができます (1) エラーが表示されているブロックを選択する 具体的には FileReader filereader = new FileReader(file); BufferedReader breader = new BufferedReader(fileReader); String line; while ((line = breader.readline())!= null) { System.out.println(line); を選択します 29

33 図 4-19 エラーとなっているブロックを選択 (2) 囲む >> try/catch ブロックを選択 マウスの右クリックで 囲む >> try/catch ブロックを選択します 図 4-20 囲む >> try/catch ブロックを選択 すると 図のように try - catch が追加されます 30

34 図 4-21 try-catch の生成結果 ソースコードは次のようになりました リスト 4-6 TextFileReader.java line TextFileReader.java 1 package jp.lites.study.java; import java.io.file; 5 import java.io.filenotfoundexception; 6 import java.io.filereader; 7 import java.io.bufferedreader; 8 import java.io.ioexception; 9 10 public class TextFileReader { private String filepath; public TextFileReader(String filepath) { 15 this.filepath = filepath; public void readalltext() { 19 File file = new File(filePath); 20 31

35 line TextFileReader.java try { FileReader filereader = new FileReader(file); BufferedReader breader = new BufferedReader(fileReader); String line; while ((line = breader.readline())!= null) { System.out.println(line); catch (FileNotFoundException e) { // TODO 自動生成された catch ブロック e.printstacktrace(); catch (IOException e) { // TODO 自動生成された catch ブロック e.printstacktrace(); 32 行目と35 行目に見慣れない文が書かれています 32 行目 e.printstacktrace(); FileNotFoundException の printstacktrace メソッドを呼んでいます このメソッドでは エラーの情報をコンソールに表示してくれます 35 行目 も同様です 開発者にはこの処理で問題ないのですが 最終的なユーザさんがそのエラー情報を見ても困惑してしまいます ですから 指定したファイルが見つかりません とか ファイの読み込みでエラーが発生しました とかのメッセージを表示するようにしたほうが良いです それでも まだユーザさんには不親切ですが ここでは printstacktrace の内容も体験してみたいので このままにしておきましょ う これで TextFileRe4ader クラスの作成は完了とします 32

36 4.7 TextFileReader を使うクラスを作成 では 作成した TextFileReader クラスを使用する Sample クラスを作成しましょう Sample TextFileReader - String filepath + main(string[] args): void + TextFileReader(String filepath) + readalltext(): void 図 4-22 Sample クラスが TextFileReader を使う Sample クラスで 読み込むテキストファイルパスを設定することにします Sample クラスは簡単ですので いきなりですが つぎに例を載せます line リスト 4-7 Sample.java Sample.java package jp.lites.study.java; public class Sample { /** args */ public static void main(string[] args) { // TODO 自動生成されたメソッド スタブテキストファイルパス String filepath = "C:/sample/simple.txt"; TextFileReader tfreader = new TextFileReader(filePath); tfreader.readalltext(); 11 行目 テキストファイルパスを変数 filepath に代入ここでは "C:/sample/simple.txt" を代入しています あとで このファイルを手作業で作りましょう 12 行目 TextFileReader インスタンスを生成 13 行目 TextFileReader インスタンスの readtextall メソッドを呼び出し 33

37 5 テキストファイル読み込みプログラムを実行 では テキストファイルを実際に読んでみましょう でも その前に 実際に読むことので きるテキストファイルを作っておきましょう 5.1 テキストファイルを作成 (1) ファイルの所在 先に Sample クラスで設定したファイルパスは次のようでした C:/sample/simple.txt これに合うようにテキストファイルを作成しましょう どうすればよいでしょう ファイルパスの意味は C ドライブの sample ディレクトリの下の simple.txt という名前のファイルです (2) ファイルの内容 ここでは ごくごく簡単な内容にしてみますが ご自身でお好きな内容でお試しください 具体的には 図のような場所に つぎのような内容になります 図 5-1 サンプルテキストファイルのパスと内容 34

38 5.2 Sample クラスの実行 準備ができましたので 実際に実行してみましょう まず 実行構成を追加します 図 5-2 Sample クラスの実行構成 図に実行の様子を載せます 図 5-3 Sample クラスの実行結果 35

39 5.2.1 例外発生を試すせっかく例外についても学びましたから エラーを起こさせてみましょう たとえば 作成したテキストファイルを削除するか別の名前にかえてみて 実行してください 次のようにエラーメッセージが表示されます 図 5-4 FileNotFoundExecption の発生 このエラーメッセージは e.printstacktrace() によって表示されています エラーメッセージをよく見てみると ファイルが見つからないので FileReader コンストラクタで java.io.filenotfoundexecption が発生していることがわかります 以上で 本テキストの終了です お疲れさまでした NOTE java.io.file クラスを使ってディレクトリの操作もできますが 長くなりますので 本テキス トではやめておきます ( 機会を見て 別テキストに載せます ) 36

40 6 演習 6.1 例外処理の記述本テキストで作成した TextFileReader クラスで 例外が発生したときの処理を printstacktrace ではなく 何らかの分かりやすいメッセージを表示するように変更してください また 正常に読み終わった場合も すべて読み終わったことがわかるようなメッセージを表示するように処理を追加してください 37

41 7 付録 7.1 Java api の参照 Java のさまざまなクラスの仕様の詳細は 下記のサイトに載っています 図 7-1 Java Platform Standard Edition 6.0 の API 仕様 java.io.bufferedreader の仕様を見てみましょう 例として java.io.bufferedreader の仕様を見てみましょう まず パッケージ java.io を表示しましょう トップページの左上の パッケージ フレームか 右の一番サイズの大きいフレームのなかで "java.io" を選択します どちらを選択するかで たどり方は少々違いますが java.io パッケージを見ることができます ここでは 右の一番サイズの大きいフレームのなかで "java.io" を選択した例を示します 38

42 図 7-2 パッケージ java.io パッケージ java.io が表示されているフレームを下にスクロールすると BuffredReader ク ラスが見えてきます 図 7-3 パッケージ java.io の bufferedreader クラス 39

43 クラスの概要 に表示されている BuffredReader を選択すると詳細仕様を見ることができ ます 図 7-4 BuffredReader クラスの仕様 下にスクロールすると readline メソッドの詳細も見ることができます 図 7-5 readline メソッドの詳細 40

44 41

45 8 改定履歴 (1) 2010/09/12 K.Yanai V1.00 ドラフト作成 (2) 2010/12/01 K.Yanai V1.01 誤字訂正 42

46 9 索引 43

Microsoft PowerPoint - prog09.ppt

Microsoft PowerPoint - prog09.ppt プログラミング言語 3 第 09 回 (2007 年 11 月 26 日 ) 1 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 2/40 今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/java06/ にアクセスすると 教材があります 2007 年 11 月 27 日分と書いてある部分が 本日の教材です

More information

Microsoft PowerPoint - prog09.ppt

Microsoft PowerPoint - prog09.ppt プログラミング言語 3 第 09 回 (2007 年 11 月 26 日 ) 1 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 2/40 1 今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/java06/ にアクセスすると 教材があります 2007 年 11 月 27 日分と書いてある部分が 本日の教材です

More information

Prog1_11th

Prog1_11th 2018 年 6 月 28 日 ( 木 ) 実施 ファイル操作とディレクトリ操作今回の授業では,Java 言語でのファイル操作とディレクトリ操作とについて学習する ファイル操作ファイル (File) とは, データの集合体のことで,JIS( 日本工業規格 ) では, ファイルはレコードの集合体, レコードはデータの集合体と定義されている ファイル操作は, 次の順序で行う なお, ストリームとは, 入力元または出力先を持つ,

More information

Prog1_15th

Prog1_15th 2017 年 7 月 27 日 ( 木 ) 実施 応用プログラム (3) キー検索 コレクションには, ハッシュテーブルと呼ばれるものがある これは, キー (key) と値 (value) とを組として保持しているものである 通常の配列が添字により各要素にアクセス出来るのに比べて, ハッシュテーブルではキーを用いて各値にアクセスすることが出来る キー及びそのキーから連想される値の組を保持していることから,

More information

Prog2_10th

Prog2_10th 2013 年 11 月 28 日 ( 木 ) 実施 ファイル操作とディレクトリ操作今回の授業では,Java 言語でのファイル操作とディレクトリ操作とについて学習する ファイル操作ファイル操作は,C 言語プログラミングで学んだように, 次の順序で行う 1) ストリームを開く 2) ストリームからの入力, ストリームへの出力 3) ストリームを閉じる Java 言語では, ファイル操作に関係するクラスが複数用意されている

More information

プログラミング基礎I(再)

プログラミング基礎I(再) 山元進 クラスとは クラスの宣言 オブジェクトの作成 クラスのメンバー フィールド 変数 配列 メソッド メソッドとは メソッドの引数 戻り値 変数の型を拡張したもの 例えば車のデータベース 車のメーカー 車種 登録番号などのデータ データベースの操作 ( 新規データのボタンなど ) プログラムで使う部品の仕様書 そのクラスのオブジェクトを作ると初めて部品になる 継承 などの仕組みにより カスタマイズが安全

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 12 回目クラス 今日の講義で学ぶ内容 クラスとは クラスの宣言と利用 クラスの応用 クラス クラスとは 異なる複数の型の変数を内部にもつ型です 直観的に表現すると int 型や double 型は 1 1 つの値を管理できます int 型の変数 配列型は 2 5 8 6 3 7 同じ型の複数の変数を管理できます 配列型の変数 ( 配列変数 ) クラスは double

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 6 回目 if 文と if else 文 今日の講義で学ぶ内容 関係演算子 if 文と if~else 文 if 文の入れ子 関係演算子 関係演算子 ==,!=, >, >=,

More information

Javaプログラムの実行手順

Javaプログラムの実行手順 戻り値のあるメソッド メソッドには 処理に使用する値を引数として渡すことができました 呼び出し 側からメソッドに値を渡すだけでなく 逆にメソッドで処理を行った結果の値を 呼び出し側で受け取ることもできます メソッドから戻してもらう値のことを もどりち戻り値といいます ( 図 5-4) 図 5-4. 戻り値を返すメソッドのイメージ 戻り値を受け取ることによって ある計算を行った結果や 処理に成功したか失

More information

Microsoft PowerPoint - prog03.ppt

Microsoft PowerPoint - prog03.ppt プログラミング言語 3 第 03 回 (2007 年 10 月 08 日 ) 1 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 2/33 今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/java06/ にアクセスすると 教材があります 2007 年 10 月 08 日分と書いてある部分が 本日の教材です

More information

(Microsoft PowerPoint - \223\306\217KJAVA\221\346\202R\224\ ppt)

(Microsoft PowerPoint - \223\306\217KJAVA\221\346\202R\224\ ppt) 独習 JAVA 第 3 版 8.4 例外とエラークラス 8.5 throws ステートメント 8.6 独自の例外 Throwable コンストラクタ catch ブロックには Throwable 型のパラメータが必ず 1 つなければならない Throwable コンストラクタ Throwable() Throwable( String message ) message には問題を通知する文字列のメッセージ

More information

オブジェクト指向プログラミング・同演習 5月21日演習課題

オブジェクト指向プログラミング・同演習 5月21日演習課題 オブジェクト指向プログラミング 同演習 5 月 21 日演習課題 問題 1 配列の例外処理例外が発生する可能性のある処理を try で囲み その後に catch で例外を捕捉します 例外処理の終了処理として finally が行われます これは書かなくて自動的に行われます 提出課題 1 (Kadai052301.java) 以下のプログラムは例外処理をしていない ArrayIndexOutOfBoundsException

More information

コンピュータ中級B ~Javaプログラミング~ 第3回 コンピュータと情報をやりとりするには?

コンピュータ中級B ~Javaプログラミング~  第3回 コンピュータと情報をやりとりするには? Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 1 プログラミング初級 (Java) 第 4 回コンピュータと情報をやりとりするには? 白銀純子 Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved.

More information

第1章 ビジュアルプログラミング入門

第1章 ビジュアルプログラミング入門 付録 A 既存のクラスの利用の仕方 第 7 章では フレームクラス (NewJFrame.java) とそこから呼び出されるクラス (Meibo.java など ) を同じプロジェクト内 つまり同じパッケージ内に定義しました しかし 一般には 別のパッケージ ( フォルダ ) に保管されているクラスを利用する場合があります ここでは その方法を説明します なお フォルダは Java の用語ではパッケージに対応するので

More information

Java講座

Java講座 ~ 第 1 回 ~ 情報科学部コンピュータ科学科 2 年竹中優 プログラムを書く上で Hello world 基礎事項 演算子 構文 2 コメントアウト (//, /* */, /** */) をしよう! インデントをしよう! 変数などにはわかりやすい名前をつけよう! 要するに 他人が見て理解しやすいコードを書こうということです 3 1. Eclipse を起動 2. ファイル 新規 javaプロジェクト

More information

Prog1_10th

Prog1_10th 2014 年 6 月 19 日 ( 木 ) 実施 例外処理 Java 言語では, 作成したプログラムを実行する際に, 記述した処理が想定しない事態によって実行できなくなる場合を例外と呼び, その例外への対処, 即ち例外処理が求められる 例外処理を行うための try 文の一般形は次のようになる 例外を発生させる可能性のある処理 catch( 例外のクラス名 1 変数 1 ) 例外に対処する処理 1 catch(

More information

Prog2_9th

Prog2_9th 2013 年 11 月 21 日 ( 木 ) 実施例外処理 Java 言語では, 作成したプログラムを実行する際に, 記述した処理が想定しない事態によって実行できなくなる場合を例外と呼び, その例外への対処, 即ち例外処理が求められる これまでの教材に登場した例外の中で,IOException はコンパイラがチェックするため, 例外処理を必ず記述しなければコンパイルが出来ないものであるのに対して,ArithmeticException

More information

メソッドのまとめ

メソッドのまとめ メソッド (4) 擬似コードテスト技法 http://java.cis.k.hosei.ac.jp/ 授業の前に自己点検以下のことがらを友達に説明できますか? メソッドの宣言とは 起動とは何ですか メソッドの宣言はどのように書きますか メソッドの宣言はどこに置きますか メソッドの起動はどのようにしますか メソッドの仮引数 実引数 戻り値とは何ですか メソッドの起動にあたって実引数はどのようにして仮引数に渡されますか

More information

26 editor.putint(pref_count_key, executecount); 27 // 変更した Preference を確定させる 28 editor.commit(); 29 } (c) 実行の様子実装して実行した様子を図 1 と図 2 に示す. 一度実行するごとに, カウン

26 editor.putint(pref_count_key, executecount); 27 // 変更した Preference を確定させる 28 editor.commit(); 29 } (c) 実行の様子実装して実行した様子を図 1 と図 2 に示す. 一度実行するごとに, カウン 保存 データを保存する方法として, 主に,3 種類ある. [1] SharedPreference [2] ファイル [3] データベース これらのうち, よく使いそうな,[1] と [2] の方法を説明する. (1) SharedPreference SharedPreference は, 変数名とその値のペアをアプリごとに記憶しておくことができ る機能である. たとえば, アプリを起動した回数を記憶しておいたり,

More information

Javaセキュアコーディングセミナー東京 第3回 入出力(File, Stream)と例外時の動作 演習解説

Javaセキュアコーディングセミナー東京 第3回 入出力(File, Stream)と例外時の動作 演習解説 Java セキュアコーディングセミナー東京第 3 回入出力と例外時の動作 演習解説 2012 年 11 月 11 日 ( 日 ) JPCERT コーディネーションセンター脆弱性解析チーム戸田洋三 1 Hands-on Exercises コンパイルエラーに対処しよう ファイルからのデータ入力を実装しよう 2 Hands-on Exercise(1) サンプルコードの コンパイルエラーに対処しよう 3

More information

Java プログラミング Ⅰ 3 回目変数 変数 変 数 一時的に値を記憶させておく機能型 ( データ型 ) と識別子をもつ 2 型 ( データ型 ) 変数の種類型に応じて記憶できる値の種類や範囲が決まる 型 値の種類 値の範囲 boolean 真偽値 true / false char 2バイト文

Java プログラミング Ⅰ 3 回目変数 変数 変 数 一時的に値を記憶させておく機能型 ( データ型 ) と識別子をもつ 2 型 ( データ型 ) 変数の種類型に応じて記憶できる値の種類や範囲が決まる 型 値の種類 値の範囲 boolean 真偽値 true / false char 2バイト文 Java プログラミング Ⅰ 3 回目変数 変数 変 数 一時的に値を記憶させておく機能型 ( データ型 ) と識別子をもつ 2 型 ( データ型 ) 変数の種類型に応じて記憶できる値の種類や範囲が決まる 型 値の種類 値の範囲 boolean 真偽値 true / false char 2バイト文字 0x0000 ~ 0xffff byte 1バイト整数 - 2 8 ~ 2 8-1 short 2バイト整数

More information

Java言語 第1回

Java言語 第1回 Java 言語 第 2 回簡単な Java プログラムの作成と実行 知的情報システム工学科 久保川淳司 kubokawa@me.it-hiroshima.ac.jp 簡単な Java プログラム Java プログラムのファイル名 Java プログラムのファイル名命名ルール ファイル名とクラス名は同じでなければならない HelloJava.java public class HelloJava { public

More information

PowerPoint Presentation

PowerPoint Presentation ソフトウェア演習 B GUI を持つ Java プログラムの 設計と実装 4.1 例題 :GUI を持った電卓を作ろう プロジェクトCalculator パッケージ名 :example ソースファイル : Calculator.java GUI.java EventProcessor.java 2 4.2 GUI とイベント処理 GUI の構成 :Swing GUI の場合 フレーム JFrame:

More information

1/8 ページ Java 基礎文法最速マスター Java Javaの文法一覧です 他の言語をある程度知っている人はこれを読めばJavaの基礎をマスターしてJavaを書くことができるようになっています 簡易リファレンスとしても利用できると思いますので これは足りないと思うものがあれば教えてください 1. 基礎 class の作成プログラムはclassに記述します たとえばSampleという名前のclassを作る場合

More information

目 次 Java GUI 3 1 概要 クラス構成 ソースコード例 課題...7 i

目 次 Java GUI 3 1 概要 クラス構成 ソースコード例 課題...7 i Java GUI 3 Java GUI 3 - サンプルプログラム (1) - 2011-09-25 Version 1.00 K. Yanai 目 次 Java GUI 3 1 概要...1 2 クラス構成...2 3 ソースコード例...3 4 課題...7 i 1 概要まずは簡単なサンプルプログラムをみながら Java GUI の基本的なことを学びましょう 本サンプルは 図に示すようなひとつのメイン画面を使用します

More information

GEC-Java

GEC-Java プログラミング初級 (Java) 第 9 回ファイル入出力, エラーへの対処 白銀純子 Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 1 第 9 回の内容 ファイル入出力 エラーに対する対処 Copyright (C) Junko Shirogane, Waseda University 2019,

More information

Prog1_6th

Prog1_6th 2019 年 10 月 31 日 ( 木 ) 実施配列同種のデータ型を有する複数のデータ ( 要素 ) を番号付けして, ひとまとまりの対象として扱うものを配列と呼ぶ 要素 point[0] point[1] point[2] point[3] point[4] 配列 配列の取り扱いに関して, 次のような特徴がある 1. プログラム中で用いる配列変数 ( 配列の本体を参照する参照型の変数 ) は必ず宣言しておく

More information

Microsoft PowerPoint - prog13.ppt

Microsoft PowerPoint - prog13.ppt プログラミング言語 3 第 13 回 (2008 年 01 月 07 日 ) 1 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 2/57 今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/java06/ にアクセスすると 教材があります 2008 年 01 月 07 日分と書いてある部分が 本日の教材です

More information

ガイダンス

ガイダンス 情報科学 B 第 2 回変数 1 今日やること Java プログラムの書き方 変数とは何か? 2 Java プログラムの書き方 3 作業手順 Java 言語を用いてソースコードを記述する (Cpad エディタを使用 ) コンパイル (Cpad エディタを使用 ) 実行 (Cpad エディタを使用 ) エラーが出たらどうしたらよいか??? 4 書き方 これから作成する Hello.java 命令文 メソッドブロック

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション オブジェクト指向 プログラミング演習 第 4 回継承 オーバーライド ポリモルフィズム 今日のお題 継承 オーバーライド ポリモルフィズム 継承 (inherit) あるクラス c のサブクラス s を定義する : このとき s は c を継承していると言う 何かの下位概念を表すクラスは その上位概念を表すクラスの属性や機能を ( 基本的には ) 使える 継承の例 大学生 長崎県立大学の学生 大学生を継承する概念

More information

Microsoft PowerPoint - prog13.ppt

Microsoft PowerPoint - prog13.ppt プログラミング言語 3 第 13 回 (2008 年 01 月 07 日 ) 1 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 2/57 1 今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/java06/ にアクセスすると 教材があります 2008 年 01 月 07 日分と書いてある部分が 本日の教材です

More information

GEC-Java

GEC-Java Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 1 プログラミング初級 (Java) 第 14 回継承 白銀純子 第 14 回の内容 継承 オーバーライド ポリモーフィズム Copyright (C) Junko Shirogane, Waseda University 2019, All rights

More information

プログラミング入門1

プログラミング入門1 プログラミング入門 1 第 3 回 条件分岐 授業開始前に ログオンして待機して ください Java 1 第 3 回 2 不要ファイルの掃除 前回デスクトップにファイルをダウンロードした場合 次のものを削除してください week02.zip デスクトップにファイルを置きすぎると コンピュータをシャットダウンできなくなります Java 1 第 3 回 3 授業を始めます 前回の課題は うまくできましたか?

More information

た場合クラスを用いて 以下のように書くことが出来る ( 教科書 p.270) プログラム例 2( ソースファイル名 :Chap08/AccountTester.java) // 銀行口座クラスとそれをテストするクラス第 1 版 // 銀行口座クラス class Account String name

た場合クラスを用いて 以下のように書くことが出来る ( 教科書 p.270) プログラム例 2( ソースファイル名 :Chap08/AccountTester.java) // 銀行口座クラスとそれをテストするクラス第 1 版 // 銀行口座クラス class Account String name クラス ( 教科書第 8 章 p.267~p.297) 前回は処理をまとめる方法として メソッドについて学習した 今回はメソッドとその処理の対象となるデータをまとめるためのクラスについて学習する このクラスはオブジェクト指向プログラミングを実現するための最も重要で基本的な技術であり メソッドより一回り大きなプログラムの部品を構成する 今回はクラスにおけるデータの扱いとクラスの作成方法 使用方法について説明していく

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション オブジェクト指向 プログラミング演習 第 4 回継承 オーバーライド ポリモルフィズム 今日のお題 継承 オーバーライド ポリモルフィズム 継承 (inherit) あるクラス c のサブクラス s を定義する : このとき s は c を継承していると言う 何かの下位概念を表すクラスは その上位概念を表すクラスの属性や機能を ( 基本的には ) 使える 継承の例 大学生 長崎県立大学の学生 大学生を継承する概念

More information

プログラミング入門1

プログラミング入門1 プログラミング入門 1 第 4 回 繰り返し (for ループ ) 授業開始前に ログオンして待機して ください Java 1 第 4 回 2 不要ファイルの掃除 前回デスクトップにファイルをダウンロードした場合 次のものを削除してください week03.zip デスクトップにファイルを置きすぎると コンピュータをシャットダウンできなくなります Java 1 第 4 回 3 授業を始めます 前回の課題は

More information

Prog1_2nd

Prog1_2nd 2019 年 10 月 3 日 ( 木 ) 実施浮動小数点数 Java 言語で実数を扱う場合, 実用的な計算には変数のデータ型としては,double 型を用いる 浮動小数点数とは, 実数を表す方式の一つで,2 進数の場合は例えば 1.101 2 3 ( 判り易さの為にここでは 2 や 3 は 10 進数で表記 ) の様な表記法である なお, 第 1 回の教材にあった, 単精度, 倍精度という用語で,

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 基本 Java プログラミング演習 第 13 回 担当 : 植村 今後の予定 7/15 第 13 回 今回 7/22 第 14 回 小テスト ( クラス ) 7/29 第 15 回 総まとめテスト レポート提出 期末テストの時間割に Java のテストの欄がありますが無視してください 再テストはまた別途連絡いたします 2 CHAPTER 11 はじめてのクラス前回の復習 クラスクラスを構成する要素

More information

ガイダンス

ガイダンス プログラムの 1 行目に以下のように自分の入れること // vm12345 杉崎えり子 情報科学 B 第 10 回 GUI 情報科学 B Info2/3 info10 今日のフォルダー作成 Example10_1.java 1 今日やること Windows などで見られるウィンドウを作 成して (GUI プログラム ) そこに実行結 果を表示させる 2 ウィンドウの作成 Java を使用してウィンドウの作成をしたい

More information

<4D F736F F D2091E F196E291E889F090E C4816A82CC838C E646F6378>

<4D F736F F D2091E F196E291E889F090E C4816A82CC838C E646F6378> 公益財団法人全国商業高等学校協会主催 [2 級 Java 選択者のための問題 ] 平成 26 年度 ( 第 52 回 ) ( 平成 27 年 1 月 18 日実施 ) 情報処理検定試験 2 級プログラミング部門 Java 選択者のための問題 7 問 1 概要 誕生日を入力し 12 星座名を表示させる問題である 星座日と星座名を配列に各データを格納し 各配列の関連性 格納された星座日からどのようにして星座名を探索

More information

Prog1_3rd

Prog1_3rd 2019 年 10 月 10 日 ( 木 ) 実施 プログラムの制御構造 1960 年代後半にダイクストラが提唱した構造化プログラミングという考え方では, 手続き型のプログラムを記述する際には, 順次, 選択, 反復という標準的な制御構造のみを用い, 先ずプログラムの概略構造を設計し, その大まかな単位を段階的に詳細化して処理を記述していく 順次構造順次構造とは, プログラム中の文を処理していく順に記述したものである

More information

目 次 Java 入 門 5 1 はじめに...1 1.1 ファイルを 書 き 出 すために 使 うクラス...1 2 テストファイルを 書 く 手 順...2 2.1 テキストファイルを 書 くための 概 略 手 順...2 2.1.1 File インスタンスを 作 成 する...2 2.1.2

目 次 Java 入 門 5 1 はじめに...1 1.1 ファイルを 書 き 出 すために 使 うクラス...1 2 テストファイルを 書 く 手 順...2 2.1 テキストファイルを 書 くための 概 略 手 順...2 2.1.1 File インスタンスを 作 成 する...2 2.1.2 Java 入 門 5 - ファイルを 書 く - 2010-09-23 Version 1.0 Kyosuke Yanai Copyright(c) 2010 Kyosuke Yanai 目 次 Java 入 門 5 1 はじめに...1 1.1 ファイルを 書 き 出 すために 使 うクラス...1 2 テストファイルを 書 く 手 順...2 2.1 テキストファイルを 書 くための 概 略 手

More information

スライド 1

スライド 1 ラベル屋さん HOME かんたんマニュアル リンクコース 目次 STEP 1-2 : ( 基礎編 ) 用紙の選択と文字の入力 STEP 3 : ( 基礎編 ) リンクの設定 STEP 4 : ( 基礎編 ) リンクデータの入力と印刷 STEP 5 : ( 応用編 ) リンクデータの入力 1 STEP 6 : ( 応用編 ) リンクデータの入力 2 STEP 7-8 : ( 応用編 ) リンク機能で使ったデータをコピーしたい場合

More information

テキストファイルの入出力1

テキストファイルの入出力1 テキストファイルの入出力 1 0. 今回の目的前回までは 2 回にわたって繰り返しについて学んできました 今回からテキストファイルの入出力について学ぶことにします 1. テキストファイルへの出力 1.1 テキストファイルについてテキストファイルとは コンピュータで扱うことが出来るファイルの中で最も基本的なファイルであり どの様な OS でもサポートされているファイル形式です Windows においては

More information

2

2 プログラミング応用演習 b 10 月 5 日演習課題 2016/10/05 PAb 演習課題 プログラム仕様書作成課題 課題クラスを読み 次に示すクラスの仕様書を完成させよ なお 仕様書は クラス 1 つに付き 1 つ作成す る 加えて 図 1 のようなクラス継承の模式図を作成せよ < クラス名 のプログラム仕様書 > 作成者 : 学籍番号 名前 (1) クラスクラス名 : クラス名 説明 : クラスが何を表現しているか

More information

Android Layout SDK プログラミング マニュアル

Android Layout SDK プログラミング マニュアル プログラミングマニュアル Version 1.3.0 用 更新履歴 年月日 バージョン 履歴 2014.09.08 1.2.0.0 新規 (Layout Utilities ユーザーズ ガイド ) 2016.08.16 1.3.0.0 モバイル端末用レイアウトで直線部品と矩形部品に対応 モバイル端末用レイアウトファイルを CLFX から XML へ変更 Layout Print Engine から

More information

ガイダンス

ガイダンス プログラムの 1 行目に以下のように自分の入れること // vm12345 杉崎えり子 情報科学 B 第 10 回 GUI 情報科学 B Info2/3 info10 今日のフォルダー作成 Example10_1.java 1 今日やること Windows などで見られるウィンドウを作 成して (GUI プログラム ) そこに実行結 果を表示させる 2 ウィンドウの作成 Java を使用してウィンドウを作成をしたい

More information

Java プログラミング Ⅰ 3 回目変 数 今日の講義講義で学ぶ内容 変数とは 変数の使い方 キーボード入力の仕方 変 数 変 数 一時的に値を記憶させておく機能 変数は 型 ( データ型 ) と識別子をもちます 2 型 ( データ型 ) 変数に記憶する値の種類変数の型は 記憶できる値の種類と範囲

Java プログラミング Ⅰ 3 回目変 数 今日の講義講義で学ぶ内容 変数とは 変数の使い方 キーボード入力の仕方 変 数 変 数 一時的に値を記憶させておく機能 変数は 型 ( データ型 ) と識別子をもちます 2 型 ( データ型 ) 変数に記憶する値の種類変数の型は 記憶できる値の種類と範囲 Java プログラミング Ⅰ 3 回目変 数 今日の講義講義で学ぶ内容 変数とは 変数の使い方 キーボード入力の仕方 変 数 変 数 一時的に値を記憶させておく機能 変数は 型 ( データ型 ) と識別子をもちます 2 型 ( データ型 ) 変数に記憶する値の種類変数の型は 記憶できる値の種類と範囲を決定します 次の型が利用でき これらの型は特に基本型とよばれます 基本型 値の種類 値の範囲 boolean

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅱ 10 回目への出力 ストリーム ストリームとは入力または出力の流れをもつデータの連鎖ですストリームは異なる機器からのデータを統一的に扱う考え方です 文字ストリーム 文字ベースの入出力をサポートします - Unicode(Java 内部 ) とローカルコード (Java 外部 ) の変換が行われ プログラマはその違いを意識しなくてすみます バイトストリームバイナリデータの入出力をサポートします

More information

Prog1_13th

Prog1_13th 2018 年 7 月 12 日 ( 木 ) 実施 応用プログラム (1) 統計処理 ここでは, 統計処理で最も基本的な平均値と分散とを求めるプログラムを扱う 平均値 x は データの値の合計をデータ数で割ったもので,i 番目のデータ値を xi, データ数を N とすれば, x = 1 N (x + x + + x ) = 1 N x と表される 分散 σ は平均値と個々のデータ値との差の二乗の平均値で,

More information

break 文 switch ブロック内の実行中の処理を強制的に終了し ブロックから抜けます switch(i) 強制終了 ソースコード例ソースファイル名 :Sample7_1.java // 入力値の判定 import java.io.*; class Sample7_1 public stati

break 文 switch ブロック内の実行中の処理を強制的に終了し ブロックから抜けます switch(i) 強制終了 ソースコード例ソースファイル名 :Sample7_1.java // 入力値の判定 import java.io.*; class Sample7_1 public stati Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 今日の講義で学ぶ内容 switch 文 論理演算子 条件演算子 条件判断文 3 switch 文 switch 文 式が case のラベルと一致する場所から直後の まで処理しますどれにも一致しない場合 default: から直後の まで処理します 式は byte, short, int, char 型 ( 文字または整数 ) を演算結果としますラベルには整数リテラル

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 3 回目変数 今日の講義で学ぶ内容 変数とは 変数の使い方 キーボード入力の仕方 変 数 変 数 一時的に値を記憶させておく機能です 変数は 型 ( データ型ともいいます ) と識別子をもちます 2 型 変数に記憶できる値の種類です型は 値の種類に応じて次の 8 種類があり これを基本型といいます 基本型値の種類値の範囲または例 boolean 真偽値 true または

More information

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 今日の講義講義で学ぶ内容 switch 文 論理演算子 条件演算子 条件判断文 3 switch 文 switch 文 式が case のラベルと一致する場所から直後の break; まで処理しますどれにも一致致しない場合 def

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 今日の講義講義で学ぶ内容 switch 文 論理演算子 条件演算子 条件判断文 3 switch 文 switch 文 式が case のラベルと一致する場所から直後の break; まで処理しますどれにも一致致しない場合 def Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 今日の講義講義で学ぶ内容 switch 文 論理演算子 条件演算子 条件判断文 3 switch 文 switch 文 式が case のラベルと一致する場所から直後の まで処理しますどれにも一致致しない場合 default: から直後の まで処理します 式の結果 ラベル 定数 整数または文字 (byte, short, int,

More information

リファレンス,配列 例外処理

リファレンス,配列 例外処理 リファレンス, 配列, 例外処理 その他演習に役立つこと 2004 年 7 月 21 日 海谷治彦 1 リファレンス ま, 改め紹介しなくても Java 遣いなら誰でもつかってる. インスタンスをプログラム中から識別 ( 捕獲 ) するためのラベルのようなもの. C でいうところのポインタ変数に相当. Java では, あるインスタンスを参照するリファレンスが 1 つもなくなると, 勝手にインスタンスは消去される.

More information

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ 今回のプログラミングの課題 次のステップによって 徐々に難易度の高いプログラムを作成する ( 参照用の番号は よくわかる C 言語 のページ番号 ) 1. キーボード入力された整数 10 個の中から最大のものを答える 2. 整数を要素とする配列 (p.57-59) に初期値を与えておき

More information

3.Cygwin で日本語を使いたい Cygwin で以下のコマンドを実行すると それ以降 メッセージが日本語になります export LANG=ja_JP.UTF-8 これは 文字コードを日本語の UTF-8 に設定することを意味しています UTF-8 は Cygwin で標準の文字コードで, 多

3.Cygwin で日本語を使いたい Cygwin で以下のコマンドを実行すると それ以降 メッセージが日本語になります export LANG=ja_JP.UTF-8 これは 文字コードを日本語の UTF-8 に設定することを意味しています UTF-8 は Cygwin で標準の文字コードで, 多 Cygwin 使いこなしマニュアル 2011/10/17 1.Cygwin の起動 Cygwin のインストールが完了したら 一般ユーザーで Windows にログインし Cygwin を起動してみましょう 下の図は ユーザー名 densan でログインして Cygwin を起動した後 いくつかコマンドを実行してみたところです 2.Cygwin のファイルはどこにある? Windows から Cygwin

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 2 回目 ようこそ Java へ 今日の講義で学ぶ内容 画面へのメッセージの表示 文字や文字列 数値を表現するリテラル 制御コードを表すエスケープシーケンス 画面出力の基本形 ソースファイル名 : クラス名.java class クラス名 System.out.println(" ここに出力したい文字列 1 行目 "); System.out.println(" ここに出力したい文字列

More information

メディプロ1 Javaプログラミング補足資料.ppt

メディプロ1 Javaプログラミング補足資料.ppt メディアプロジェクト演習 1 Javaプログラミング補足資料 l Javaとは l JavaScript と Java 言語の違い l オブジェクト指向 l コンストラクタ l 継承 抽象クラス 本資料内のページ番号は, 以下の参考書のページを引用している高橋麻奈 : やさしい Java, ソフトバンククリエイティブ (2,625 円 ) はじめに l プログラミング言語とは? l オブジェクト指向とは?

More information

Javaの作成の前に

Javaの作成の前に メディアプロジェクト演習 1 参考資料 Javaとは JavaScript と Java 言語の違い オブジェクト指向 コンストラクタ サーブレット 本資料内のページ番号は, 以下の参考書のページを引用している 高橋麻奈 : やさしい Java, ソフトバンククリエイティブ (2,625 円 ) はじめに プログラミング言語とは? オブジェクト指向とは? Java 言語とは? JavaとJavaScriptの違いとは?

More information

スクールCOBOL2002

スクールCOBOL2002 3. 関連資料 - よく使われる機能の操作方法 - (a) ファイルの入出力処理 - 順ファイル等を使ったプログラムの実行 - - 目次 -. はじめに 2. コーディング上の指定 3. 順ファイルの使用方法 4. プリンタへの出力方法 5. 索引ファイルの使用方法 6. 終わりに 2 . はじめに 本説明書では 簡単なプログラム ( ファイル等を使わないプログラム ) の作成からコンパイル 実行までの使用方法は既に理解しているものとして

More information

ガイダンス

ガイダンス プログラムの 1 行目に以下を入れること // vm12345 杉崎えり子 情報科学 B 第 10 回 GUI 情報科学 B Info2/3 info10 今日のフォルダー作成 Example10_1.java 1 今日やること Windows などで見られるウィンドウを作 成して (GUI プログラム ) そこに実行結 果を表示させる 2 ウィンドウの作成 Java を使用してウィンドウの作成をしたい

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション オブジェクト指向 プログラミング演習 第 2 回クラス インスタンス メソッド コンストラクタ 先週の出席確認 Webブラウザはどのようなプログラムでできているかこの問に答える前に Webブラウザとは 何か? 普段使ってますよね? Webブラウザを使ってできることと Webブラウザがやっていることを区別する必要がある 何をすれば Web ブラウザ と言えるのか NHK チコちゃんに叱られる! Web

More information

Microsoft Word - CombB-Ex

Microsoft Word - CombB-Ex コンパイラ演習資料 (javacc) 担当 : 佐々木晃 演習問題 B0( 締め切り=2008/011/25 演習中の回収時 ) 問題番号 : B0 課題名 : コンパイラの作成準備出題日 :11/18 課題 :JavaCC の設定と準備本演習資料にしたがって 中置記法による算術式 ( 四則演算 括弧が使える ) を逆ポーランドによる式に変換せよ ( 参考 コンパイラ作成 1) http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/2008a/problem/problem1.htm

More information

JAVA入門

JAVA入門 JAVA 入門後期 10 情報処理試験例題解説 H14 年度秋問 8 次の Java プログラムの説明及びプログラムを読んで, 設問に答えよ プログラムの説明 ディジタル論理回路シミュレータを作成するためのクラスとテスト用クラスである (1) ゲートを表す抽象クラス Gate のサブクラスとして, NOT ゲートを表すクラス NotGate 及び AND ゲートを表すクラス AndGate を定義する

More information

基本的な利用法

基本的な利用法 (R で ) 塩基配列解析 基本的な利用法 Macintosh 版 到達目標 : このスライドに書かれている程度のことは自在にできるようにしてエラーへの対処法を身につける 1. 必要なパッケージのインストールが正しくできているかどうかの自力での判定 および個別のパッケージのインストール 2. 作業ディレクトリの変更 3. テキストエディタで自在に入出力ファイル名の変更 ( どんなファイル名のものがどこに生成されるかという全体像の把握

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 3 回目変数 今日の講義で学ぶ内容 変数とは 変数の使い方 キーボード入力の仕方 変 数 変 数 一時的に値を記憶させておく機能です 変数は 型 ( データ型ともいいます ) と識別子をもちます 2 型 変数に記憶できる値の種類です型は 値の種類に応じて次の 8 種類があり これを基本型といいます 基本型値の種類値の範囲または例 boolean 真偽値 true または

More information

第1章 ビジュアルプログラミング入門

第1章 ビジュアルプログラミング入門 第 9 章アプレット 学習内容とねらい 本章では Java 言語で作ったプログラムを Web ブラウザ上で動作させる方法を学習します Java 言語には これまで作成してきた Windows アプリケーションの他に Web ブラウザ上で動作させる事のできるアプレットという形態があります このアプレットを利用すれば Web 上で Java プログラムを公開することもできます アプレットは Java 言語の普及当初は

More information

デジタル表現論・第6回

デジタル表現論・第6回 デジタル表現論 第 6 回 劉雪峰 ( リュウシュウフォン ) 2016 年 5 月 16 日 劉 雪峰 ( リュウシュウフォン ) デジタル表現論 第 6 回 2016 年 5 月 16 日 1 / 16 本日の目標 Java プログラミングの基礎配列 ( 復習 関数の値を配列に格納する ) 文字列ファイルの書き込み 劉 雪峰 ( リュウシュウフォン ) デジタル表現論 第 6 回 2016 年

More information

例外処理とファイル入出力

例外処理とファイル入出力 例外処理と ファイル入出力 情報システム学科 平塚聖敏 例外処理とは プログラムの実行中に発生した問題を通知するために 実行時に生成される 例外の例 オブジェクト スタックオーバーフロー メモリ不足 配列の要素数を超えて参照しようとしたりする 例外処理の手順その 1 基本の例外処理 1. try ブロックで処理を囲む try{ // 処理 2. catch ブロックで例外を捕捉 catch ( 例外オブジェクトパラメータ

More information

ご利用のコンピュータを設定する方法 このラボの作業を行うには 事前設定された dcloud ラボを使用するか 自身のコンピュータをセットアップします 詳細については イベントの事前準備 [ 英語 ] とラボの設定 [ 英語 ] の両方のモジュールを参照してください Python を使用した Spar

ご利用のコンピュータを設定する方法 このラボの作業を行うには 事前設定された dcloud ラボを使用するか 自身のコンピュータをセットアップします 詳細については イベントの事前準備 [ 英語 ] とラボの設定 [ 英語 ] の両方のモジュールを参照してください Python を使用した Spar ご利用のコンピュータを設定する方法 このラボの作業を行うには 事前設定された dcloud ラボを使用するか 自身のコンピュータをセットアップします 詳細については イベントの事前準備 [ 英語 ] とラボの設定 [ 英語 ] の両方のモジュールを参照してください Python を使用した Spark API との通信 このラーニングモジュールでは Python を使用した Spark API とのインターフェイスを扱います

More information

TestDesign for Web

TestDesign for Web 発行日 2012/6/21 発行元 株式会社アープ 本書は Web でのテスト自動化における Test Design の一連の操作方法まとめたものです Test Design のメニューの説明やより詳細な使い方については ユーザーズガイド を参照してください 目次 1. はじめに... 1 2. 環境構築... 2 2.1. Selenium のサイトについて... 2 2.2. Selenium

More information

ホームページ・ビルダー16

ホームページ・ビルダー16 Part 2 テンプレートからページを作る (3) Part 2-3 テンプレートを使ってページを作ろう テンプレートを利用してホームページを作りましょう テンプレートを利用すると 文字や画像を差し替えるだけで魅力的で華やかなページを作ることができます 特にフル CSS テンプレートを利用して作ったページは ページのデザインやレイアウトをスタイルシートで管理しているため あとから簡単にデザインやレイアウトの変更ができます

More information

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード]

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード] 第 3 回 Java 基本技術講義 クラス構造と生成 33 クラスの概念 前回の基本文法でも少し出てきたが, オブジェクト指向プログラミングは という概念をうまく活用した手法である. C 言語で言う関数に似ている オブジェクト指向プログラミングはこれら状態と振る舞いを持つオブジェクトの概念をソフトウェア開発の中に適用し 様々な機能を実現する クラス= = いろんなプログラムで使いまわせる 34 クラスの概念

More information

Microsoft PowerPoint - chap10_OOP.ppt

Microsoft PowerPoint - chap10_OOP.ppt プログラミング講義 Chapter 10: オブジェクト指向プログラミング (Object-Oriented Programming=OOP) の入り口の入り口の入り口 秋山英三 F1027 1 例 : 部屋のデータを扱う // Test.java の内容 public class Test { public static void main(string[] args) { double length1,

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション かんたんマニュアル 差し込み印刷編 目次 STEP:1 STEP:2 STEP:3 STEP:4 元となるラベル カードのデータを作ろうP.2 差し込みデータの関連付けを設定しよう P.7 データの差し込みをしよう P.11 印刷しよう P.17 STEP1: 画面の確認をしよう 差し込み印刷とは 表計算ソフトで作った住所録を宛名ラベルに印刷したり 名簿をも とに同じ形式のカードを作ったりするときに便利な機能です

More information

新規コンポーネントの作成方法

新規コンポーネントの作成方法 新規コンポーネント作成手順 = 音を鳴らすコンポーネントを例にして = 平成 22 年 5 月 10 日 : MZ Platform. 1 = 目次 = 手順 1 サンプルプログラム格納場所への移動...3 手順 2 サンプルプログラム名の変更...7 2-1 ファイル名の変更...7 2-2 プログラムコードの編集...11 2-3 SAMPLE_EN.PROPERTIES ファイルの修正...17

More information

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 条件判断文 3 switch 文 switch 文式が case の値と一致した場合 そこから直後の break; までを処理し どれにも一致しない場合 default; から直後の break; までを処理する 但し 式や値 1

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 条件判断文 3 switch 文 switch 文式が case の値と一致した場合 そこから直後の break; までを処理し どれにも一致しない場合 default; から直後の break; までを処理する 但し 式や値 1 Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 条件判断文 3 switch 文 switch 文式が case の値と一致した場合 そこから直後の までを処理し どれにも一致しない場合 default; から直後の までを処理する 但し 式や値 1 値 2は整数または文字である switch( 式 ) case 値 1: // コロン : です セミコロン ; と間違えないように!!

More information

Microsoft PowerPoint - prog04.ppt

Microsoft PowerPoint - prog04.ppt プログラミング言語 3 第 04 回 (2007 年 10 月 15 日 ) 1 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 2/33 1 今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/java06/ にアクセスすると 教材があります 2007 年 10 月 15 日分と書いてある部分が 本日の教材です

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション オブジェクト指向 プログラミング演習 第 2 回クラス インスタンス メソッド フィールド コンストラクタ ICPC の宣伝 国際大学対抗プログラミングコンテスト 3 人一組のチームでプログラムを書く速さを競う 国内予選 : ネットワーク上で 6 月末 ~7 月頭 アジア地区予選 : 日本国内で秋に開催 世界大会 :2020 年は 6 月にモスクワで 参加登録締切 : 国内予選の 2~3 週間前 今年は

More information

2016 年度 JAVA 講座第六週目 目次 パッケージ... 2 パッケージの作成... 2 パッケージの使用方法... 3 異なるパッケージ同名クラスの宣言... 4 パッケージの側面から見たアクセス修飾子... 4 ラッパークラス... 5 ラッパークラス利用法:キャスト... 5 ラッパーク

2016 年度 JAVA 講座第六週目 目次 パッケージ... 2 パッケージの作成... 2 パッケージの使用方法... 3 異なるパッケージ同名クラスの宣言... 4 パッケージの側面から見たアクセス修飾子... 4 ラッパークラス... 5 ラッパークラス利用法:キャスト... 5 ラッパーク 2016 年度 JAVA 講座第六週目 目次 パッケージ... 2 パッケージの作成... 2 パッケージの使用方法... 3 異なるパッケージ同名クラスの宣言... 4 パッケージの側面から見たアクセス修飾子... 4 ラッパークラス... 5 ラッパークラス利用法:キャスト... 5 ラッパークラス利用法:ArrayList... 5 例外:Exception... 6 ぬるぽ... 6 例外処理:try-catch-finaly...

More information

Microsoft PowerPoint - OOP.pptx

Microsoft PowerPoint - OOP.pptx 第 12 回 第 10 章ファイルの入出力処理 24 4 入出力ストリームクラス 245 ファイルの書き出し (1) ファイルのオープン処理 FileWriter fw=new FileWriter(args[0]); 文字列 args[0] で指定された名前のファイルを作成する.FileWriter というストリームクラスのオブジェクトによりファイルがオープンされる. このオブジェクトは変数 fw

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 4 回目演算子 今日の講義で学ぶ内容 演算子とオペランド 式 様々な演算子 代表的な演算子の使用例 演算子とオペランド 演算子 演算の種類です例えば + - * / 掛け算の記号は ではなく *( アスタリスク ) を使います割り算の記号は ではなく /( スラッシュ ) を使います オペランド 演算の対象です例えば 5( 値 ) num( 変数 ) 式 演算子とオペランドの組み合わせにより構成される数式です式は演算結果をもちます

More information

Rational Roseモデルの移行 マニュアル

Rational Roseモデルの移行 マニュアル Model conversion from Rational Rose by SparxSystems Japan Rational Rose モデルの移行マニュアル (2012/1/12 最終更新 ) 1. はじめに このガイドでは 既に Rational( 現 IBM) Rose ( 以下 Rose と表記します ) で作成された UML モデルを Enterprise Architect で利用するための作業ガイドです

More information

Microsoft Word - java a.doc

Microsoft Word - java a.doc 4 入出力の基本として ディスプレイへの文字出力と キーボードからの文字入力の方法を学びます 入出力とは何か 標準出力 標準入力 43 4.1. 入出力とは プログラムと外部機器の間でデータをやりとりすることをいいます プログラムから出て行く方向が 出力 プログラムに入って来る方向が 入力 です 出力 外部機器 プログラム 入力 外部機器 外部機器はさまざまな種類があります 出力を行うには ディスプレイ

More information

人工知能入門

人工知能入門 藤田悟 黄潤和 探索とは 探索問題 探索解の性質 探索空間の構造 探索木 探索グラフ 探索順序 深さ優先探索 幅優先探索 探索プログラムの作成 バックトラック 深さ優先探索 幅優先探索 n 個の ueen を n n のマスの中に 縦横斜めに重ならないように配置する 簡単化のために 4-ueen を考える 正解 全状態の探索プログラム 全ての最終状態を生成した後に 最終状態が解であるかどうかを判定する

More information

Java 入門 6 Java 入門 6 - データベースにアクセスする Version 1.0 Kyosuke Yanai Copyright(c) 2010 Kyosuke Yanai

Java 入門 6 Java 入門 6 - データベースにアクセスする Version 1.0 Kyosuke Yanai Copyright(c) 2010 Kyosuke Yanai - データベースにアクセスする - 2010-10-15 Version 1.0 Kyosuke Yanai Copyright(c) 2010 Kyosuke Yanai 目 次 1 はじめに...1 1.1 データベース...1 1.2 データベースへのアクセス...2 2 MySQL へのアクセス...3 2.1 準備...3 2.2 Connector/J のダウンロード インストール...4

More information

ボタンイベントアプリイベント処理を含むアプリとして, ボタンをもち, ボタンを押すと文字列を表示するアプリを作る. このアプリは,HelloWorld アプリを改造して作成するため, アプリ作成の途中からの手順を示す. 1. ボタンの設置 (1) レイアウトにボタンを追加するパレットの フォーム ウ

ボタンイベントアプリイベント処理を含むアプリとして, ボタンをもち, ボタンを押すと文字列を表示するアプリを作る. このアプリは,HelloWorld アプリを改造して作成するため, アプリ作成の途中からの手順を示す. 1. ボタンの設置 (1) レイアウトにボタンを追加するパレットの フォーム ウ ボタンイベントアプリイベント処理を含むアプリとして, ボタンをもち, ボタンを押すと文字列を表示するアプリを作る. このアプリは,HelloWorld アプリを改造して作成するため, アプリ作成の途中からの手順を示す. 1. ボタンの設置 (1) レイアウトにボタンを追加するパレットの フォーム ウィジェット からボタンのアイコンをドラッグして, ワークスペースにドロップする. 図 1 ボタンの追加

More information

Brekeke PBX - Version 2.1 ARSプラグイン開発ガイド

Brekeke PBX - Version 2.1 ARSプラグイン開発ガイド Brekeke PBX Version 2.1 ARS プラグイン開発ガイド Brekeke Software, Inc. バージョン Brekeke PBX v2.1 ARS プラグイン開発ガイド, 2008 年 2 月 著作権本書の著作権は Brekeke Software, Inc. にあります Copyright 2003-2008 Brekeke Software, Inc. 本書の一部または全部を

More information

Java知識テスト問題

Java知識テスト問題 Java 知識テスト SDAS プログラマ(Java 編 ) 運営事務局 このテストは J2EE プログラマとしての Java の知識を評価するものです 問題は 30 問, テスト時間は J2EE 知識テストとあわせて 90 分です 問題は全て択一式です 選択肢から 1 つだけ選択してください 資料の閲覧は禁止です テストが終わり次第 答案用紙を提出していただいてかまいません テスト終了後, 本テストの内容を他の方に話さないでください

More information

Java 基礎問題ドリル ~ メソッドを理解する ~ 次のプログラムコードに 各設問の条件にあうメソッドを追加しなさい その後 そのメソッドが正しく動作することを検証するためのプログラムコードを main メソッドの中に追加しなさい public class Practice { // ここに各設問

Java 基礎問題ドリル ~ メソッドを理解する ~ 次のプログラムコードに 各設問の条件にあうメソッドを追加しなさい その後 そのメソッドが正しく動作することを検証するためのプログラムコードを main メソッドの中に追加しなさい public class Practice { // ここに各設問 Java 基礎問題ドリル ~ メソッドを理解する ~ 次のプログラムコードに 各設問の条件にあうメソッドを追加しなさい その後 そのメソッドが正しく動作することを検証するためのプログラムコードを main メソッドの中に追加しなさい public class Practice { // ここに各設問のメソッドを追加する public static void main(string[] args) {

More information

Taro-Basicの基礎・はじめに(公

Taro-Basicの基礎・はじめに(公 Basic の基礎 はじめに 0. 目次 1. はじめに 1. 1 ファイル フォルダとは 1. 2 Tiny Basic の起動と停止 1. 3 Tiny Basic の実行 1. 4 簡単なプログラム - 1 - 1. はじめに 1. 1 ファイル フォルダとは データの集まりをファイルといい 名前を付けて区別する フォルダ ( ディレクトリともいう ) という特別なファイルは ファイルが登録できるようになっている

More information

フローチャート自動生成ツール yflowgen の使い方 目次 1 はじめに 本ツールの機能 yflowgen.exe の使い方 yflowgen.exe の実行方法 制限事項 生成したファイル (gml ファイル形式 ) の開

フローチャート自動生成ツール yflowgen の使い方 目次 1 はじめに 本ツールの機能 yflowgen.exe の使い方 yflowgen.exe の実行方法 制限事項 生成したファイル (gml ファイル形式 ) の開 フローチャート自動生成ツール yflowgen の使い方 目次 1 はじめに...2 2 本ツールの機能...2 3 yflowgen.exe の使い方...3 3.1 yflowgen.exe の実行方法...3 3.2 制限事項...3 3.3 生成したファイル (gml ファイル形式 ) の開き方...4 3.3.1 yed Graph Editor を使って開く...4 3.3.2 yed

More information

Microsoft PowerPoint - kougi6.ppt

Microsoft PowerPoint - kougi6.ppt C プログラミング演習 第 6 回ファイル処理と配列 1 ファイル処理 2 ファイル読み込み ファイル プログラム ファイルの中身は変わらない 3 ファイル書き出し ファイル プログラム ファイルの中身が変わる ファイルは伸び縮みすることがある 4 例題 1. テキストファイル形式の ファイルからのデータ読み込み 次のような名簿ファイル ( テキストファイル形式 ) を読み込んで,1 列目の氏名と,3

More information

Javaセキュアコーディングセミナー2013東京第1回 演習の解説

Javaセキュアコーディングセミナー2013東京第1回 演習の解説 Java セキュアコーディングセミナー東京 第 1 回オブジェクトの生成とセキュリティ 演習の解説 2012 年 9 月 9 日 ( 日 ) JPCERT コーディネーションセンター脆弱性解析チーム戸田洋三 1 演習 [1] 2 演習 [1] class Dog { public static void bark() { System.out.print("woof"); class Bulldog

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 8 回目 for 文 今日の講義で学ぶ内容 for 文 変数のスコープ for 文の入れ子 繰り返し文 1 for 文 for 文最初に一度だけ初期化の式を処理します条件が true の場合 文を実行し 更新の式を処理して繰り返します条件が false の場合 for 文を終了します 条件は boolean 型で 関係演算子で表現される式などを記述します for( 初期化の式

More information

C#の基本

C#の基本 C# の基本 ~ 開発環境の使い方 ~ C# とは プログラミング言語のひとつであり C C++ Java 等に並ぶ代表的な言語の一つである 容易に GUI( グラフィックやボタンとの連携ができる ) プログラミングが可能である メモリ管理等の煩雑な操作が必要なく 比較的初心者向きの言語である C# の利点 C C++ に比べて メモリ管理が必要ない GUIが作りやすい Javaに比べて コードの制限が少ない

More information

プログラミング実習I

プログラミング実習I プログラミング実習 I 05 関数 (1) 人間システム工学科井村誠孝 m.imura@kwansei.ac.jp 関数とは p.162 数学的には入力に対して出力が決まるもの C 言語では入出力が定まったひとまとまりの処理 入力や出力はあるときもないときもある main() も関数の一種 何かの仕事をこなしてくれる魔法のブラックボックス 例 : printf() 関数中で行われている処理の詳細を使う側は知らないが,

More information

1.SqlCtl クラスリファレンス SqlCtl クラスのリファレンスを以下に示します メソッドの実行中にエラーが発生した場合は標準エラー出力にメッセージを出力します (1)Connect() メソッド データベースへ connect 要求を行います boolean Connect(String

1.SqlCtl クラスリファレンス SqlCtl クラスのリファレンスを以下に示します メソッドの実行中にエラーが発生した場合は標準エラー出力にメッセージを出力します (1)Connect() メソッド データベースへ connect 要求を行います boolean Connect(String 目次 1.SqlCtl クラスリファレンス 2 (1)Connect() メソッド 2 (2)DisConnect() メソッド 3 (3)Commit() メソッド 3 (4)Rollback() メソッド 4 2.SqlStm クラスリファレンス 5 (1)Prepare() メソッド 5 (2)Execute() メソッド 6 (3)Release() メソッド 6 (4)Immediate()

More information

ただし 無作為にスレッドを複数実行すると 結果不正やデッドロックが起きる可能性がある 複数のスレッド ( マルチスレッド ) を安全に実行する ( スレッドセーフにする ) ためには 同期処理を用いるこ とが必要になる 同期処理は 予約語 synchronized で行うことができる ここでは sy

ただし 無作為にスレッドを複数実行すると 結果不正やデッドロックが起きる可能性がある 複数のスレッド ( マルチスレッド ) を安全に実行する ( スレッドセーフにする ) ためには 同期処理を用いるこ とが必要になる 同期処理は 予約語 synchronized で行うことができる ここでは sy オブジェクト指向プログラミング演習 2010/10/27 演習課題 スレッド ( その 2) 同期処理 結果不正 デッドロック 前回のスレッドの演習では 複数のスレッドを実行し 一つのプログラムの中の違う処理を同時に実行し た ただし 無作為にスレッドを複数実行すると 結果不正やデッドロックが起きる可能性がある 複数のスレッド ( マルチスレッド ) を安全に実行する ( スレッドセーフにする )

More information

引き算アフィリ ASP 登録用の日記サイトを 作成しよう Copyright 株式会社アリウープ, All Rights Reserved. 1

引き算アフィリ ASP 登録用の日記サイトを 作成しよう Copyright 株式会社アリウープ, All Rights Reserved. 1 引き算アフィリ ASP 登録用の日記サイトを 作成しよう 1 目次 ASP 登録用の日記サイトを作成しよう... 3 日記サイト作成時のポイント... 4 (1) 子ページを5ページ分作成する... 5 (2)1 記事当たり600 文字以上書く... 6 (3) アップロードする場所はドメインのトップが理想... 7 日記サイトを作成しよう... 8 日記サイト用テンプレートをダウンロードする...

More information