GEC-Java

Size: px
Start display at page:

Download "GEC-Java"

Transcription

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

2 第 9 回の内容 ファイル入出力 エラーに対する対処 Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 2

3 ファイル入出力 Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 3

4 ファイル入出力とは? ファイル入力 : ファイルに書き込まれている内容をプログラム中に読み込むこと 標準入力 : コマンドプロンプトに書き込まれた内容をプログラム中に読み込むこと 読み込めるファイル : テキストファイル ( 文字情報だけのファイル ) メモ帳や Mery などのテキストエディタで作成 編集できるファイル ファイル出力 : プログラムの実行結果などをファイルの中に書き込むこと 標準出力 : プログラムの実行結果をコマンドプロンプトに書き込むこと 書き込んだファイル : テキストファイル Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 4

5 ファイル入力 Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 5

6 書式 ~ 入力 ~( 全体像 ) String str; FileReader fr = new FileReader( 入力するファイル名 ); BufferedReader br = new BufferedReader(fr); str = br.readline(); br.close(); fr.close(); catch (IOException e) { Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 6

7 書式 ~ 入力 ~( 詳細 1) String str; FileReader fr = new FileReader( 入力するファイル名 ); BufferedReader br = new BufferedReader(fr); 例外処理が必要 str = br.readline(); br.close(); fr.close(); catch (IOException e) { ファイル入力では 入力すべきファイルが存在しない ファイルを読む権限がないなどのエラーが起こることもある Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 7

8 書式 ~ 入力 ~( 詳細 2) String str; FileReader fr = new FileReader( 入力するファイル名 ); BufferedReader br = new BufferedReader(fr); どのファイルの内容を入力するか ファイルの名前を決める str = br.readline(); br.close(); fr.close(); catch (IOException e) { 入力するファイル名 は 単なる文字列でも 変数に代入された文字列でも良い 入力するファイルは Java プログラムと同じ場所に置いておく Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 8

9 書式 ~ 入力 ~( 詳細 3) String str; FileReader fr = new FileReader( 入力するファイル名 ); BufferedReader br = new BufferedReader(fr); str = br.readline(); br.close(); fr.close(); catch (IOException e) { ファイルの内容に対する操作には 内容を読む 内容を書き込むの 2 種類がある 1 度に行うことのできる操作はどちらか一方なので 読む のか 書く のかを決めておく Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 9

10 書式 ~ 入力 ~( 詳細 4) String str; FileReader fr = new FileReader( 入力するファイル名 ); BufferedReader br = new BufferedReader(fr); str = br.readline(); br.close(); fr.close(); catch (IOException e) { 読むために ファイルを開く作業 ( fr の部分は FileReader の変数名を入れること ) Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 10

11 書式 ~ 入力 ~( 詳細 5) String str; FileReader fr = new FileReader( 入力するファイル名 ); BufferedReader br = new BufferedReader(fr); str = br.readline(); br.close(); fr.close(); catch (IOException e) { 開いたファイルを 1 行ずつ ( 文字列として ) 読んでいく ( br の部分は BufferedReader の変数名を入れること ) 1 つ目の br.readline() で 1 行目を読む 2 つ目の br.readline() で 2 行目を読む... ただし 2 行目を読んだあとに 1 行目をもう一度読んだり 2 行目をとばして 3 行目を読む ということはできない Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 11

12 書式 ~ 入力 ~( 詳細 6) String str; FileReader fr = new FileReader( 入力するファイル名 ); BufferedReader br = new BufferedReader(fr); str = br.readline(); br.close(); fr.close(); catch (IOException e) { ファイルを読み終わった後 ファイルを閉じる作業 ( プログラムでは 開いたファイルは必ず閉じる作業をしなければならない ) ( br の部分は BufferedReader の変数名 fr の部分は FileReader の変数名を入れること ) Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 12

13 ファイル入力の例 プログラム : String str; FileReader fr = new FileReader("Sample.txt"); BufferedReader br = new BufferedReader(fr); str = br.readline(); System.out.println(str); br.close(); fr.close(); catch (IOException e) { Sample.txt の中身 : プログラミング初級サンプルファイル 出力結果 : プログラミング初級 Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 13

14 何行も書かれているファイル ファイルを最初から最後まで全部読むには? br.readline() をファイルの行数分書く? ファイルの行数が多いときは? ファイルの行数が何行かわからないときは? ファイルが読み込み可能 という条件で while 文を使う ファイルの最後の行まで読み込んでしまうと その次の行を読み込もうとしたときに 読み込み不可能 という結果が返ってくる Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 14

15 読み込み可能 という条件 (2) String str; while (br.ready()) { 読み込んだ文字列に対する処理 br.ready() で ファイルの中にまだ読み込んでいない行が存在するかをチェック 読み込んでいない行が存在すれば true という結果 読み込んでいない行が存在しなければ false という結果 ファイルの終わりに達していない限り while の中身を実行する Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 15

16 読み込み可能 という条件 (2) String str; FileReader fr = new FileReader("Sample.txt"); BufferedReader br = new BufferedReader(fr); while (br.ready()) { str = br.readline();. br.close(); fr.close(); catch (IOException e) { System.out.println(" 指定されたファイルの入力ができません "); ファイルを開く ファイルの終わりに達するまで各行を読み込み 読み込んだ各行の処理をする 読み込み終わったらファイルを閉じる ファイルを閉じると それ以上は読み込みできない Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 16

17 while 文の中身は... while 文の中身 ( 読み込んだ 1 行 1 行の扱い ) は プログラムの目的に応じて書く str の内容を配列に代入する ファイルの 1 行 1 行を配列として扱う str の内容を数値に変換する ( そして配列に代入する ) str の内容を細かく分解する ( 例えばスペースで区切って単語に分解する ) etc. Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 17

18 ループ文利用の注意 ( 入力 ) String str; FileReader fr = new FileReader("Sample.txt"); BufferedReader br = new BufferedReader(fr); while (br.ready()) { str = br.readline();. br.close(); fr.close(); catch (IOException e) { System.out.println(" ファイルの入力ができません "); ループ文の中に ファイルを閉じる処理が入っている while 文の処理に入ったときに br.ready() ( 条件 ) は true なのでループ文の処理開始 2. ファイルの 1 行目を読み込む 3. 1 行目に対する処理を行う 4. ファイルを閉じる 5. br.ready() ( 条件 ) が false なので ループ文終了 ( ファイル読み込み終了 ) 1 行目の読み込みのときにファイルを閉じているから ファイルの 2 行目以降は読み込み 処理されない ファイルを閉じる処理はループ文の後に! Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 21

19 ファイル出力 Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 22

20 書式 ~ 出力 ~( 全体像 ) FileWriter fw = new FileWriter( 出力するファイルの名前 ); BufferedWriter bw = new BufferedWriter(fw); PrintWriter pw = new PrintWriter(bw); pw.println( 書き込む内容 ); pw.close(); bw.close(); fw.close(); catch (IOException e) { Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 23

21 書式 ~ 出力 ~( 詳細 1) ファイル出力では フォルダにファイルを作成できない String str; ファイルに書き込む権限がない FileWriter fw = new FileWriter( 出力するファイルの名前などのエラーが起こることもある ); BufferedWriter bw = new BufferedWriter(fw); PrintWriter pw = new PrintWriter(bw); 例外処理が必要 pw.println( 書き込む内容 ); pw.close(); bw.close(); fw.close(); catch (IOException e) { Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 24

22 書式 ~ 出力 ~( 詳細 2) String str; FileWriter fw = new FileWriter( 出力するファイルの名前 ); BufferedWriter bw = new BufferedWriter(fw); PrintWriter pw = new PrintWriter(bw); どのファイルに書き込むか ファイルの名前を決める pw.println( 書き込む内容 ); pw.close(); bw.close(); fw.close(); catch (IOException e) { 出力するファイル名 は 単なる文字列でも 変数に代入された文字列でも良い 出力するファイルは Java プログラムと同じ場所に作成される Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 25

23 書式 ~ 出力 ~( 詳細 3) String str; FileWriter fw = new FileWriter( 出力するファイルの名前 ); BufferedWriter bw = new BufferedWriter(fw); PrintWriter pw = new PrintWriter(bw); ファイルの内容に対する操作には pw.println( 書き込む内容 内容を読む ); pw.close(); 内容を書き込む bw.close(); の2 種類がある 1 度に行うことのできる操作はどちらか一方なので fw.close(); 読む のか 書く のかを決めておく catch (IOException e) { Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 26

24 書き込むファイル FileWriter fw = new FileWriter( ファイルの名前 ); で指定されたファイルがすでに存在する場合 : ファイルは一旦削除され 新しいファイルが作成 ( もともとのファイルの内容が消去される ) すでに存在するファイルの最後に追加して書き込むことは可能 FileWriter fw = new FileWriter( ファイルの名前, true) とする すでに存在するファイルの途中に追加は不可能 ファイルを全て読み込み 必要な部分を追加して書き込むという対応 Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 27

25 書式 ~ 出力 ~( 詳細 4) String str; FileWriter fw = new FileWriter( 出力するファイルの名前 ); BufferedWriter bw = new BufferedWriter(fw); PrintWriter pw = new PrintWriter(bw); pw.println( 書き込む内容 書き込むために ファイルを開く作業 ); ( fw の部分は pw.close(); FileWriterの変数名 bw の部分はBufferedWriterの bw.close(); 変数名を入れること ) fw.close(); catch (IOException e) { Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 28

26 書式 ~ 出力 ~( 詳細 5) String str; FileWriter fw = new FileWriter( 出力するファイルの名前 ); BufferedWriter bw = new BufferedWriter(fw); PrintWriter pw = new PrintWriter(bw); pw.println( 書き込む内容 ); pw.close(); bw.close(); fw.close(); 開いたファイルに内容を書き込んでいく ( pw の部分は PrintWriterの変数名を入れること ) catch (IOException e) { pw.println(...) では 書き込んだ後に改行が入る pw.print(...) では 書き込んだ後に改行が入らない 目的に応じて使い分けること Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 29

27 書式 ~ 出力 ~( 詳細 6) String str; FileWriter fw = new FileWriter( 出力するファイルの名前 ); BufferedWriter bw = new BufferedWriter(fw); PrintWriter pw = new PrintWriter(bw); pw.println( 書き込む内容 ); pw.close(); bw.close(): bw.close(); ファイル書き込みが終わった後 ファイルを閉じる作業 fw.close(); ( プログラムでは 開いたファイルは必ず閉じる作業をしなければならない ) ( pw bw fw の部分は それぞれPrintWriter BufferedWriter catch (IOException e) { FileWriterの変数名を入れること ) Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 30

28 ファイルを閉じる順序の注意 必ず String str; PrintWriter BufferedWriter FileWriter fw = new FileWriter( 3. 出力するファイルの名前 FileWiter ); BufferedWriter bw = new の順 BufferedWriter(fw); ( ファイル出力の準備をしたのとは逆の順序 ) で閉じること PrintWriter pw = new PrintWriter(bw); 書き込み内容は 一旦バッファという一時保存領域に保存されている PrintWriterを閉じたときに バッファの内容がファイルに書き込まれる PrintWriter BufferedWriter FileWriterの閉じる順序を間違えると ファイル書き込み前にバッファの内容が消去される = ファイルに内容が書き込まれない pw.println( 書き込む内容 ); pw.close(); bw.close(); fw.close(); catch (IOException e) { Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 31

29 ファイル出力の例 プログラム : String str; FileWriter fw = new FileWriter("Sample.txt"); BufferedWriter bw = new BufferedWriter(fw); PrintWriter pw = new PrintWriter(fw); pw.println(" プログラミング初級 "); pw.print(" サンプルファイル "); pw.close(); bw.close(); fw.close(); catch (IOException e) { 実行結果 Sample.txt の中身: プログラミング初級サンプルファイル Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 32

30 ループ文利用の注意 ( 出力 ) FileWriter fw = new FileWriter("Sample.txt"); BufferedWriter bw = new BufferedWriter(fw); PrintWriter pw = new PrintWriter(fw); int i; for (i = 0; i < 10; i = i + 1) {... pw.println(i + " 番目 "); pw.close(); bw.close(); fw.close(); catch (IOException e) { System.out.println(" ファイルの出力ができません ");. ループ文の中に ファイルを閉じる処理が入っている for 文の処理に入ったときに i < 10 ( 条件 ) はtrueなのでループ文の処理開始 2. 必要な処理を行う 3. ファイルの1 行目の書き込みをする 4. ファイルを閉じる 5. i < 10 ( 条件 ) がtrueなので ループ文の処理継続 6. 必要な処理を行う 7. IOExceptionの例外が発生する for 文の1 回目の処理のときにファイルを 閉じているため ファイルの 2 行目以降は書き込みされない ファイルを閉じる処理はループ文の後に! Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 33

31 様々な入出力をする場合 (1) 1 つのプログラム内で様々な入出力をする場合の try~catch 1 つにまとめて良い ただし 標準入力 ファイル入出力のどれで例外が発生したかは把握しづらくなる それぞれ別個に try~catch を設けても良い 変数宣言の位置には注意が必要 Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 34

32 様々な入出力をする場合 (2) 1 つにまとめる場合 (1) BufferedReader standardbr = new BufferedReader(new InputStreamReader(System.in)); String str = standardbr.readline(); FileReader fr = new FileReader("TestFile.txt"); BufferedReader filebr = new BufferedReader(fr); String line; while (filebr.ready()) { line = filebr.readline(); FileWriter fw = new FileWriter("Sample.txt"); BufferedWriter bw = new BufferedWriter(fw); PrintWriter pw = new PrintWriter(fw);... catch (IOException e) { try~catch は 1 つだけ Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 35

33 様々な入出力をする場合 (3) 1 つにまとめる場合 (2) BufferedReader standardbr = new BufferedReader(new InputStreamReader(System.in)); String str = standardbr.readline(); FileReader fr = new FileReader("TestFile.txt"); BufferedReader filebr = new BufferedReader(fr); String line; while (filebr.ready()) { line = filebr.readline(); FileWriter fw = new FileWriter("Sample.txt"); BufferedWriter bw = new BufferedWriter(fw); PrintWriter pw = new PrintWriter(fw);... catch (IOException e) { 入力の時の BufferedReader の br や reader は変数 try~catch をまとめる場合は 標準入力とファイル入力で違う変数にすること Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 36

34 様々な入出力をする場合 (4) 別個に設ける場合 (1) String str, line; BufferedReader standardbr = new BufferedReader(new InputStreamReader(System.in)); str = standardbr.readline();... catch(ioexception e) { FileReader fr = new FileReader("TestFile.txt"); BufferedReader filebr = new BufferedReader(fr); while (filebr.ready()) { line = filebr.readline(); catch(ioexception e) { それぞれにtry~catchを記述 FileWriter fw = new FileWriter("Sample.txt"); BufferedWriter bw = new BufferedWriter(fw); PrintWriter pw = new PrintWriter(fw);... catch (IOException e) { Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 37

35 様々な入出力をする場合 (5) 別個に設ける場合 (2) String str, line; BufferedReader standardbr = new BufferedReader(new InputStreamReader(System.in)); str = standardbr.readline();... catch(ioexception e) { FileReader fr = new FileReader("TestFile.txt"); BufferedReader filebr = new BufferedReader(fr); while (filebr.ready()) { line = filebr.readline(); catch(ioexception e) { FileWriter fw = new FileWriter("Sample.txt"); BufferedWriter bw = new BufferedWriter(fw); PrintWriter pw = new PrintWriter(fw);... catch (IOException e) { Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 38 変数宣言は try~catchよりも前に! 変数は宣言をした { ~ の中でしか使えない = 1つ目のtryの中で宣言された変数は 2つ目以降のtry~catchでは使えない ( コンパイルエラー )

36 例外への対処 Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 39

37 プログラムで発生するエラー プログラムの実行時に発生する可能性のあるエラー 配列で 利用可能な範囲外の添え字を使おうとしたとき String 型の値を int 型に変換できないとき Ex. 入力された文字列を int 型に変換したいときに abc という文字列が入力される など 入力しようとしたファイルが存在しないとき 数を 0 で割ろうとしたとき etc. プログラムを実行してみなければ 発生するかどうかわからないエラー = コンパイル時には発見できないエラー 例外 と呼ぶ Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 40

38 例外に対処するには? 例外が発生すると... プログラムの実行がその時点で終了してしまう 例外を発生させないためには...? 1. 例外が発生しないよう プログラムを書いておく 完全には難しい ( 入力データなどは実行時でないと判断不可 ) 2. 例外に対処するための処理をプログラムに書いておく 例外が発生しても それなりの処理を行う 例外処理 Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 41

39 例外処理の書き方 ( 基本形 ) 例外が発生する可能性のある処理 catch ( 例外の種類変数名 ) { 例外が発生したときに行う処理 try を書いたら 必ず catch も書かなければならない try 文の中に catch を書いてはならない try の の後 catch の前には何も書いてはならない Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 42

40 try try~catch 例外が発生する可能性のある処理を try{~ の間に書く catch try の中の処理で例外が発生したときに 行われる処理を書く Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 43

41 try の処理 (1) 例外が発生する可能性のある処理 標準入力の処理 ファイル入出力の処理 配列を扱う処理 文字列を int 型に変換する処理 割り算の処理 etc. Java の文法上の規則として 例外処理を書かなければならないもの ( 書かなければコンパイルエラー ) 文法上の規則としては 例外処理を書く必要はないが 必要に応じて自分の判断で例外処理を書くもの Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 44

42 try の処理 (2) 例外が発生する可能性のあるポイント try で 例外が発生する可能性のあるポイントをきちんと囲む必要 このポイントを囲んでいなければ 例外処理の意味はなし 標準入力やファイル入出力では このポイントを囲んでいなければ コンパイルエラー Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 45

43 例外処理の書き方 ( 基本形 ) 例外が発生する可能性のある処理 catch ( 例外の種類変数名 ) { 例外にも様々な種類 例外が発生したときに行う処理 Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 46

44 catch の処理 ( 例外の種類 ) 例外の種類 例外には 様々な種類が存在 入出力に関係する例外 ( 入出力ができなかった場合に例外が発生 ) 配列の添え字に関する例外 ( 利用可能な範囲外の添え字を使おうとしたときに例外が発生 ) 割り算に関する例外 ( 数を 0 で割ろうとしたときに例外が発生 ) etc. try で発生する可能性のある例外の種類を指定 適切な種類を指定しておかないと 例外処理ができない Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 47

45 例外の種類 (IOException)(1) IOException 入出力に関する例外 標準入力 ファイル入力で 入力ができない場合 標準入力 : プログラムをコマンドプロンプトから起動していない場合などは 入力不可能 ファイル入力 : 読み込もうとしたファイルが 読み込み のアクセス権がない場合などは入力不可能 ファイル出力で 出力ができない場合 書き込もうとしたファイルが 書き込み のアクセス権がない場合などは出力不可能 Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 48

46 例外の種類 (IOException)(2) IOException 分類されているパッケージ : java.io import java.io.ioexception または import java.io.*; がなければコンパイルエラー 例外が発生する可能性のあるポイントが try の中に書かれていなければ コンパイルエラー ポイント : readline() メソッド, ファイルを開く処理など Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 49

47 例外の種類 (IOException)(3) 標準入力 String str; BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); str = br.readline(); catch (IOException e) { ファイル入力 String str; FileReader fr = new FileReader(" 入力するファイルの名前 "); BufferedReader br = new BufferedReader(fr); str = br.readline(); br.close(); catch (IOException e) { 例外が発生する可能性のあるポイント ( 実際に入力をしているポイント ) 発生する例外は入出力関係 と指定 Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 50

48 例外の種類 (ArithmeticException) ArithmeticException 計算に関する例外 整数の割り算で 数を 0 で割ろうとした場合 ( 小数の割り算でこの例外の発生はなし ) 分類されているパッケージ : java.lang int num1, num2, division; String str1, str2; str1 = br.readline(); str2 = br.readline(); num1 = Integer.parseInt(str1); num2 = Integer.parseInt(str2); division = num1 / num2; catch (ArithmeticException e) { 例外が発生する可能性のあるポイント ( 割り算をしているポイント ) 発生する例外は計算関係 と指定 Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 51

49 例外の種類 (StringIndexOutOfBoundsException) StringIndexOutOfBoundsException 文字列における 文字の位置 ( インデックス ) に関する例外 文字列において 実際には存在しない位置を指定した場合 分類されているパッケージ : java.lang String sub, original = "abcdef"; sub = original.substring(3, 10); catch(stringindexoutofboundsexception e) { 例外が発生する可能性のあるポイント ( 文字列での 文字のインデックスを指定しているポイント ) 発生する例外は文字列のインデックス関係 と指定 Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 52

50 例外の種類 (NumberFormatException) NumberFormatException 文字列の数値変換に関する例外 数値に変換することができない文字列を 変換しようとした場合 分類されているパッケージ : java.lang String str; int num; BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); str = br.readline(); num = Integer.parseInt(str); catch (NumberFormatException e) { 例外が発生する可能性のあるポイント ( 文字列を数値に変換しようとしているポイント ) 発生する例外は文字列の数値変換の関係 と指定 Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 53

51 例外の種類 (ArrayIndexOutOfBoundsException) ArrayIndexOutOfBoundsException 配列の添え字に関する例外 利用可能な範囲外の添え字を使おうとした場合 分類されているパッケージ : java.lang int[] num = {10, 20, 30, 40, 50; int i, sum = 0; for (i = 0; i < 10; i++) { sum = sum + num[i]; catch (ArrayIndexOutOfBoundsException e) { 例外が発生する可能性のあるポイント (i 番目の配列 と配列に添え字をあてはめて使っているポイント ) 発生する例外は配列の添え字関係 と指定 Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 54

52 例外の種類 (IndexOutOfBoundsException) IndexOutOfBoundsException ArrayList のインデックスに関する例外 利用可能な範囲外のインデックスを使おうとした場合 分類されているパッケージ : java.lang ArayList<Integer> numlist = new ArrayList<Integer>(); numlist.add(1); numlist.add(2); numlist.add(3); int i, sum = 0; for (i = 0; i <= 10; i = i + 1) { sum = sum + numlist.get(i); catch(indexoutofboundsexception e) { 例外が発生する可能性のあるポイント (i 番目のインデックスの要素を取り出そうとしているポイント ) 発生する例外は ArrayList のインデックス関係 と指定 Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 55

53 例外の種類 (FileNotFoundException)(1) FileNotFoundException ファイルに関する例外 読み込もうとしたファイルが存在しない場合 分類されているパッケージ : java.io import java.io.filenotfoundexception または import java.io.*; がなければコンパイルエラー ただし IOException を使っていれば FileNotFoundException は不要 IOException は FileNotFoundException も兼ねている ファイルは存在しても読み書きできないのか ファイルが存在自体しないのか を区別したいなどのときには両方利用する Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 56

54 例外の種類 (FileNotFound)(2) String str; FileReader fr = new FileReader(" 入力するファイルの名前 "); BufferedReader br = new BufferedReader(fr); 例外が発生する可能性のあるポイント ( ファイルの読み込みを決めているポイント ) str = br.readline(); br.close(); catch (FileNotFoundException e) { 発生する例外はファイル関係 と指定 Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 57

55 例外が発生すると... 例外が発生した以降の処理が実行されない String str; int num1, num2, sum; BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); str = br.readline(); num1 = Integer.parseInt(str); Ex. ここで例外が発生する str = br.readline(); num2 = Integer.parseInt(str); sum = num1 + num2; catch (NumberFormatException e) { この部分の処理が実行されない 実行されない部分の代わりになる処理を catch に書く Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 58

56 例外処理の書き方 ( 基本形 ) 例外が発生する可能性のある処理 catch ( 例外の種類変数名 ) { 発生した例外についての詳細な情報が格納される 例外が発生したときに行う処理 Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 59

57 変数名 catch の処理 ( 変数 ) 発生した例外についての詳細な情報が格納される 例外の種類 がデータ型 Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 60

58 catch の処理 ( 内容 ) 例外の内容を出力することが多い 標準出力で出力することが多い 出力をすることで プログラムの利用者が なぜプログラムを実行できないかを知ることができる 入力間違いを防ぐ目的で利用されることもある Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 61

59 catch の処理 ( 内容 )( 例 1) String str; FileReader fr = new FileReader("sample.txt"); BufferedReader br = new BufferedReader(fr); str = br.readline(); br.close(); catch (FileNotFoundException e) { System.out.println("sample.txtというファイルは存在しないので 読み込めません "); Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 62

60 catch の処理 ( 内容 )( 例 2) BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); str = br.readline(); int num = Integer.parseInt(str); catch(numberformatexception e) { System.out.println(" 入力されたデータは数値ではないため 処理できません "); Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 63

61 catch の処理 ( 内容 )( 例 3) String str; int num, code = 1; BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println(" 数を 1 つ入力してください "); str = br.readline(); while (code == 1) { num = Integer.parseInt(str); code = 0; catch(numberformatexception e) { System.out.println(" 入力された文字列は数に変換できません 入力しなおしてください "); str = br.readline(); catch(ioexception e) { System.out.println(" 標準入力の処理ができませんでした "); while 文が終了した時には 必ず変数 num に数が入っている Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 64

62 複数種類の例外に対する処理 1 つの try の中に複数種類の例外が発生することも String str; int num; FileReader fr = new FileReader("sample.txt"); BufferedReader br = new BufferedReader(fr); str = br.readline(); num = Integer.parseInt(str); br.close(); FileNotFoundException の可能性 IOException の可能性 NumberFormatException の可能性 Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 65

63 例外処理の書き方 ( 応用 ) 例外が発生する可能性のある処理 catch ( 例外の種類 1 変数名 ) { 1 の例外が発生したときに行う処理 catch ( 例外の種類 2 変数名 ) { catch はいくつ分書いても OK 2 の例外が発生したときに行う処理 Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 66

64 例外処理の書き方 ( 応用 )( 例 ) String str; int num; FileReader fr = new FileReader("sample.txt"); BufferedReader br = new BufferedReader(fr); str = br.readline(); num = Integer.parseInt(str); br.close(); catch を必要なだけ並べる catch と catch の間には何も書いてはならない catch(filenotfoundexception e) { System.out.println(" このファイルは存在しません "); catch(ioexception e) { System.out.println(" このファイルからデータを読み込むことはできません "); catch(numberformatexception e) { System.out.println(" 読み込んだデータを数値に変換することができません "); Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 67

65 catch を複数並べる場合 (1) 上に書かれた catch から順にチェックされ 該当した catch で例外処理 if 文と同様 複数の catch に該当する例外であっても 先に書かれているところで例外処理 ( その後の catch はチェックしない ) Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 68

66 catch を複数並べる場合 (2) "sample.txt" ファイルが存在しない String str; = FileNotFoundExceptionもIOExceptionも発生する可能性 int num; FileReader fr = new FileReader("sample.txt"); BufferedReader br = new BufferedReader(fr); str = br.readline(); num = Integer.parseInt(str); br.close(); catch(filenotfoundexception e) { System.out.println(" このファイルは存在しません "); catch(ioexception e) { System.out.println(" このファイルからデータを読み込むことはできません "); FileNotFoundExceptionだけ発生 IOExceptionは発生しない (2つ目のcatchは処理されない) Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 69

67 catch を複数並べる場合 (3) catch での例外処理を書く順序は 原則何でも OK Ex. StringIndexOutOfBoundsException と NumberFormatException StringIndexOutOfBoundsException を先に書いても OK NumberFormatException を先に書いても OK ただし IOException と FileNotFoundException は別 IOException は FileNotFoundException を兼ねている IOException を FileNotFoundException の前に書くと FileNotFoundException の例外が発生することはない コンパイルエラー FileNotFoundException は IOException の前に書く必要 Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 70

コンピュータ中級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

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

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

More information

JavaプログラミングⅠ

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

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

Prog1_11th

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

More information

Prog2_10th

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

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

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

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

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

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

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

GEC-Java

GEC-Java Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 1 プログラミング初級 (Java) 第 2 回コンピュータが情報を扱うには? ( 変数, データ型, 代入 ) 白銀純子 Copyright (C) Junko Shirogane, Waseda University 2019, All rights

More information

Java (9) 1 Lesson Java System.out.println() 1 Java API 1 Java Java 1

Java (9) 1 Lesson Java System.out.println() 1 Java API 1 Java Java 1 Java (9) 1 Lesson 7 2008-05-20 Java System.out.println() 1 Java API 1 Java Java 1 GUI 2 Java 3 1.1 5 3 1.0 10.0, 1.0, 0.5 5.0, 3.0, 0.3 4.0, 1.0, 0.6 1 2 4 3, ( 2 3 2 1.2 Java (stream) 4 1 a 5 (End of

More information

JavaプログラミングⅠ

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

More information

GEC-Java

GEC-Java プログラミング初級 (Java) 第 12 回メッセージのやりとり 白銀純子 Copyright (C) Junko Shirogane, Waseda University 2018, All rights reserved. 1 第 12 回の内容 メッセージのやりとり Copyright (C) Junko Shirogane, Waseda University 2018, All rights

More information

応用プログラミング 2004/11/23 データの入出力 データの入出力データをキーボードからコンピュータに入力することや CRT に表示すること, さらにハードディスク (HDD) や MO などに保存されているファイルからデータをコンピュータに読み込むことや ( 逆に ) データをこれらの装置に

応用プログラミング 2004/11/23 データの入出力 データの入出力データをキーボードからコンピュータに入力することや CRT に表示すること, さらにハードディスク (HDD) や MO などに保存されているファイルからデータをコンピュータに読み込むことや ( 逆に ) データをこれらの装置に データの入出力 データの入出力データをキーボードからコンピュータに入力することや CRT に表示すること, さらにハードディスク (HDD) や MO などに保存されているファイルからデータをコンピュータに読み込むことや ( 逆に ) データをこれらの装置に保存すること データ入出力用クラス 外部 ( キーボード,CRT, ファイル (HDD や MO など )) からのデータの読み込み, 書き出しのためのクラスが存在する

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

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

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

<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

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

Prog1_15th

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

More information

データ構造とアルゴリズム論

データ構造とアルゴリズム論 15 10 14 Java jtextfielddata jbuttonwrite jlabelmessage void jbuttonwrite_actionperformed(actionevent e) { String Data=jTextFieldData.getText(); try { // Test1.txt fw FileWriter fw= new FileWriter("Test1.txt");

More information

プログラミングA

プログラミングA プログラミング A 第 10 回 演習 2015 年 6 月 29 日 東邦大学金岡晃 本日の内容 中間テストの解説 演習 1 2015/6/29 プログラミング A 中間テスト解説 : 問 1 < 問 1> 下記の命令が実行された後の a の値を書きなさい ( 省略 ). int a=13; 答え : 13 2 中間テスト解説 : 問 2 < 問 2> 下記の命令が実行された後の a の値を書きなさい

More information

Microsoft Word - java a.doc

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

More information

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

コンピュータ中級B ~Javaプログラミング~  第3回 コンピュータと情報をやりとりするには? Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 1 プログラミング初級 (Java) 第 10 回オブジェクト指向って? 白銀純子 Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 2 第 10

More information

GEC-Java

GEC-Java プログラミング初級 (Java) 第 11 回オブジェクト指向って? 白銀純子 Copyright (C) Junko Shirogane, Waseda University 2018, All rights reserved. 1 第 11 回の内容 プログラミングの種類 オブジェクト指向とは? Copyright (C) Junko Shirogane, Waseda University 2018,

More information

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

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

More information

K227 Java 2

K227 Java 2 1 K227 Java 2 3 4 5 6 Java 7 class Sample1 { public static void main (String args[]) { System.out.println( Java! ); } } 8 > javac Sample1.java 9 10 > java Sample1 Java 11 12 13 http://java.sun.com/j2se/1.5.0/ja/download.html

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

プログラミング入門1

プログラミング入門1 プログラミング入門 1 第 5 回 繰り返し (while ループ ) 授業開始前に ログオン後 不要なファイルを削除し て待機してください Java 1 第 5 回 2 参考書について 参考書は自分にあったものをぜひ手元において自習してください 授業の WEB 教材は勉強の入り口へみなさんを案内するのが目的でつくられている これで十分という訳ではない 第 1 回に紹介した本以外にも良書がたくさんある

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

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

2

2 問題 次の設問に答えよ 設問. Java のソースコードをコンパイルするコマンドはどれか a) java b) javac c) javadoc d) javaw 設問. Java のバイトコード ( コンパイル結果 ) を実行するコマンドはどれか a) java b) javac c) javadoc d).jar 設問. Java のソースコードの拡張子はどれか a).c b).java c).class

More information

マークアップ言語

マークアップ言語 東北大学全学教育科目 情報基礎 B 1 セメスター金曜 2 講時工学部 15, 16 組 JAVA 言語初級プログラム (f( f or ループ ) 建築 社会環境工学科 このスライド週の内容 for 文 ( 繰り返し文 ) break 文 情報基礎 B 2 for による繰り返し 以前,1 から 10 まで足すプログラムを作った. 同じ処理を 10 回繰り返すために, 同じような命令 ( 式 )

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

Prog2_9th

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

More information

できるプログラマーを本気で育てる Java 超 Webプログラマーへの第 歩 第 3 回コレクションと例外処理 テクノロジックアート 瀬嘉秀

できるプログラマーを本気で育てる Java 超 Webプログラマーへの第 歩 第 3 回コレクションと例外処理 テクノロジックアート 瀬嘉秀 できるプログラマーを本気で育てる Java 超 Webプログラマーへの第 歩 第 3 回コレクションと例外処理 テクノロジックアート 瀬嘉秀 内容 コレクションとは 例外処理 Java 言語とオブジェクト指向 属性と振る舞い クラスとメソッド オブジェクト指向の特徴 演習問題 勉強会の参考書 Java ( アジャイルソフトウェア開発技術シリーズ 基礎編 ) 発売日 2012 年 5 月 10 日 著作

More information

データ構造とアルゴリズム論

データ構造とアルゴリズム論 Java jtextfielddata jbuttonwrite jlabelmessage void jbuttonwrite_actionperformed(actionevent e) { String Data=jTextFieldData.getText(); try { // Test1.txt fw FileWriter fw= new FileWriter("Test1.txt");

More information

メソッドのまとめ

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

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

Prog1_2nd

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

More information

デジタル表現論・第6回

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

More information

プログラムの基本構成

プログラムの基本構成 Java 入門 この 2 回 ( 今回と次回 ) が勝負だ! プログラムは自転車の練習と同じだ! 今日の予定先ず プログラムの構造を学び (p.2~6) jcpad でプログラム ( 計算機実習室 ) 戻ってきてプログラムの解読手書きプログラムを TA にみてもらい OK の出た人は計算機実習室でプログラム作成し実行実行結果を TA がチェックして帰り プログラムの基本構成 Step1: 入力 Step2:

More information

ガイダンス

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

More information

Microsoft PowerPoint - prog04.ppt

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

More information

Programming-C-9.key

Programming-C-9.key プログラミングC 第9回 例外 スレッド 白石路雄 2 finally try{ ( 例外が発生するかもしれない処理 ) catch(exception のクラス名 e){ ( 例外が発生した時の処理 ) finally{ ( 例外の発生の有無に関わらず 必ず行う処理 ) 3 Integer.parseInt() NumberFormatException

More information

2006年10月5日(木)実施

2006年10月5日(木)実施 2010 年 7 月 2 日 ( 金 ) 実施 ファイル処理ファイルとはファイル (file) は日常用語では紙などを綴じたものを表すが, コンピュータ用語ではデータの集合体を指す言葉である ファイルは例えば, 文書ファイルやプログラムファイルのように, 用途によって分類されることもあれば, また, テキストファイルやバイナリファイルのように, ファイルの作り方によって分類されることもある なお,

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 32786~32767 2147483648~2147483647 9223372036854775808~9223372036854775807 ±10 38 ~10 38 ±10 308 ~10 308 public static void main(string[] args) { int a; double b; String s; a = 42; b = 3.1415926535; s =

More information

Prog1_6th

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

More information

JavaプログラミングⅠ

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

More information

基礎プログラミング2015

基礎プログラミング2015 応用プログラミング 第 5 回 テキスト入力処理 2017 年 10 月 18 日 ( 水 ) 第 7 章 テキスト入力処理 1 文字ずつの処理 (P.58) char 型などに入力する cin >> x や fin >> x はホワイトスペースが読み飛ばされる仕様 ホワイトスペース : スペース ( 空白 ), Tab( タブ ), 改行 // sample.cpp char ch; while(cin

More information

データ構造とアルゴリズム論

データ構造とアルゴリズム論 第 3 章. ファイルを用いたデータ入出力 学習のねらい 1 データをファイルへ出力する ( 書き込む ) 方法を学習する 2 データをファイルから入力する ( 読み込む ) 方法を学習する 大量のデータを処理する場合は ファイルからデータを読み込んでから処理を行います また プログラムが終了すると変数に記憶されたデータは消えてしまうので 処理結果を残すためにはファイルに保管しておくことが必要になります

More information

Prog1_12th

Prog1_12th 2013 年 7 月 4 日 ( 木 ) 実施 ファイル処理ファイルとはファイル (file) は日常用語では紙などを綴じたものを表すが, コンピュータ用語ではデータの集合体を指す言葉である ファイルは例えば, 文書ファイルやプログラムファイルのように, 用途によって分類されることもあれば, また, テキストファイルやバイナリファイルのように, ファイルの作り方によって分類されることもある なお,

More information

JavaプログラミングⅠ

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

More information

2

2 問題 1 次の設問 1~5 に答えよ 設問 1. Java のソースプログラムをコンパイルするコマンドはどれか a) java b) javac c) javadoc d) jdb 設問 2. Java のバイトコード ( コンパイル結果 ) を実行するコマンドはどれか a) java b) javac c) javadoc d) jdb 設問 3. Java のソースプログラムの拡張子はどれか a).c

More information

ファイル入出力

ファイル入出力 C プログラミング Ⅱ の基礎 とは ファイルへデータを書き込んだり ( 出力 ), ファイルからデータを読み込んだり ( 入力 ) する C 言語では キーボードからの入力 画面への出力と同じようなコードで 処理を実現できる プログラム 入力 出力 ファイル 出力 入力 2 入出力の基本 ストリーム プログラム上で様々な装置への入出力を行う機構様々な入出力装置を統一的な方法で扱うことができる ハードディスクなどではファイルデータによって入出力が行われる

More information

ファイル入出力

ファイル入出力 C プログラミング Ⅱ の基礎 とは ファイルへデータを書き込んだり ( 出力 ), ファイルからデータを読み込んだり ( 入力 ) する C 言語では キーボードからの入力 画面への出力と同じようなコードで 処理を実現できる プログラム 入力 出力 ファイル 出力 入力 2 入出力の基本 ストリーム プログラム上で様々な装置への入出力を行う機構様々な入出力装置を統一的な方法で扱うことができる ハードディスクなどではファイルデータによって入出力が行われる

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

プログラミング入門1

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

More information

書式に示すように表示したい文字列をダブルクォーテーション (") の間に書けば良い ダブルクォーテーションで囲まれた文字列は 文字列リテラル と呼ばれる プログラム中では以下のように用いる プログラム例 1 printf(" 情報処理基礎 "); printf("c 言語の練習 "); printf

書式に示すように表示したい文字列をダブルクォーテーション () の間に書けば良い ダブルクォーテーションで囲まれた文字列は 文字列リテラル と呼ばれる プログラム中では以下のように用いる プログラム例 1 printf( 情報処理基礎 ); printf(c 言語の練習 ); printf 情報処理基礎 C 言語についてプログラミング言語は 1950 年以前の機械語 アセンブリ言語 ( アセンブラ ) の開発を始めとして 現在までに非常に多くの言語が開発 発表された 情報処理基礎で習う C 言語は 1972 年にアメリカの AT&T ベル研究所でオペレーションシステムである UNIX を作成するために開発された C 言語は現在使われている多数のプログラミング言語に大きな影響を与えている

More information

File IO

File IO File IO と例外処理 オブジェクト指向プログラミング特論 2018 年度只木進一 : 工学系研究科 2 Java での File IO Java での File IO の仕組み 言語 (java.lang パッケージ ) には File IO が含まれない 標準入出力のみ java.io パッケージが別に用意されている 3 例外処理の必要性 IO では エラーが発生しやすい 読めない 書けない

More information

データ構造とアルゴリズム論

データ構造とアルゴリズム論 第 3 章. ファイルを用いたデータ入出力 学習のねらい 1 データをファイルへ出力する ( 書き込む ) 方法を学習する 2 データをファイルから入力する ( 読み込む ) 方法を学習する 大量のデータを処理する場合は ファイルからデータを読み込んでから処理を行います また プログラムが終了すると変数に記憶されたデータは消えてしまうので 処理結果を残すためにはファイルに保管しておくことが必要になります

More information

※ ポイント ※

※ ポイント ※ 4S-RO ロボティクス実験 参考資料 ファイル入出力 : ファイルの読み込み 1 周目に計測した生体情報データを読み込み プログラムにより信号処理を行うが その際にファイルの 入出力が必要となる 実験前半ですでに学習しているが必要に応じて本資料を参考にすること 以下のようにすると指定したファイルを読み込むことができる ( 詳細は後から記述 ) int i; double --------; char

More information

Microsoft PowerPoint - kougi6.ppt

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

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

スライド 1

スライド 1 Copyright (C) Junko Shirogane, Tokyo Woman's Christian University 2010, All rights reserved. 1 コンピュータ 2L 第 9 回 LAN 構築 人間科学科コミュニケーション専攻白銀純子 Copyright (C) Junko Shirogane, Tokyo Woman's Christian University

More information

Microsoft PowerPoint - 第3回目.ppt [互換モード]

Microsoft PowerPoint - 第3回目.ppt [互換モード] 第 3 回プログラミング応用 目的ファイル入出力 1. ファイルの概念 2. ファイルの読み込み 3. ファイルの書き込み CPU 演算 判断 ファイルの概念 内部記憶装置 OS 機械語プログラム 入力装置 キーボード 出力装置 ディスプレイ ファイル 外部記憶装置ハードディスク CD-ROM CPU が外部とデータをやり取りするための媒介 printf 関数や scanf 関数でもうすでにファイルのやり取りの基本は学んでいる

More information

Java講座

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

More information

演算増幅器

演算増幅器 ファイルこれまでにデータの入力方法として キーボードからの入力を用いてきた 構造体を習った際に実感してもらえたと思うが 入力データ量が多いときにはその作業は大変なものとなり 入力するデータを間違えた場合には最初からやり直しになる そこで今回はこれらの問題を解決するため あらかじめ入力データをテキストエディタなどで編集し ファイルとして保存したものを入力データとして用いる方法を習っていく さらにプログラムで作成したデータをファイルに出力する方法も併せて習っていく

More information

メソッドのまとめ

メソッドのまとめ 配列 (2) 2 次元配列, String http://jv2005.cis.k.hosei.c.jp/ 授業の前に自己点検 配列変数に格納される配列の ID と配列の実体の区別ができていますか 配列変数の宣言と配列の実体の生成の区別ができていますか メソッドの引数に配列が渡されるとき 実際に渡されるものは何ですか このことの重要な帰結は何ですか 引数の値渡しと参照渡しということばを例を挙げて説明できますか

More information

マークアップ言語

マークアップ言語 東北大学全学教育科目 情報基礎 B 1 セメスター金曜 2 講時工学部 15, 16 組 JAVA 言語初級プログラム ( 基本 ) 建築 社会環境工学科 プログラミング コンピュータの言語は 0 と 1 で書かれる. 例えば 1 + sin 50 =??? + や sin, 50 を 0 と 1 で命令しなければならない このような命令文を ソフトウェア あるいは プログラム と呼ぶ 高級言語人がわかる言語

More information

スクールCOBOL2002

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

More information

プログラミング入門1

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

More information

Prog1_10th

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

More information

JavaScriptで プログラミング

JavaScriptで プログラミング JavaScript でプログラミング JavaScript とは プログラミング言語の 1 つ Web ページ上でプログラムを動かすことが主目的 Web ブラウザで動かすことができる 動作部分の書き方が C や Java などに似ている 2 JavaScript プログラムを動かすには の範囲を 1. テキストエディタで入力 2..html というファイル名で保存

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション プログラミング応用演習 第 5 回演習 前回までのお話 ポインタ ポインタを用いた文字列処理 構造体 ファイル 再帰的構造体 リスト構造 動的メモリ管理 今日のお題 ポインタやファイルなど これまでの内容の練習 教材 以前 以下に単語を収録したファイルがあることを紹介した : /usr/share/dict/words この中からランダムに単語を取り出したファイルを用意した http://sun.ac.jp/prof/yamagu/2019app/

More information

PowerPoint Presentation

PowerPoint Presentation 工学部 6 7 8 9 10 組 ( 奇数学籍番号 ) 担当 : 長谷川英之 情報処理演習 第 7 回 2010 年 11 月 18 日 1 今回のテーマ 1: ポインタ 変数に値を代入 = 記憶プログラムの記憶領域として使用されるものがメモリ ( パソコンの仕様書における 512 MB RAM などの記述はこのメモリの量 ) RAM は多数のコンデンサの集合体 : 電荷がたまっている (1)/ いない

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

pp2018-pp9base

pp2018-pp9base プログラミング入門 Processing プログラミング第 9 回 九州産業大学理工学部情報科学科神屋郁子 ( pp@is.kyusan-u.ac.jp ) 時限 クラス 水 1 機械 ( クラス 3) 水 2 機械 ( クラス 1) 水 4 電気 (B1 B2) 後ろ 5 列は着席禁止 3 人掛けの中央は着席禁止 今後の予定 第 9 回 : 複数の図形 (2) 繰り返しと座標変換第 回 : 画像の表示と音の再生

More information

FORTRAN( と C) によるプログラミング 5 ファイル入出力 ここではファイルからデータを読みこんだり ファイルにデータを書き出したりするプログラムを作成してみます はじめに テキスト形式で書かれたデータファイルに書かれているデータを読みこんで配列に代入し 標準出力に書き出すプログラムを作り

FORTRAN( と C) によるプログラミング 5 ファイル入出力 ここではファイルからデータを読みこんだり ファイルにデータを書き出したりするプログラムを作成してみます はじめに テキスト形式で書かれたデータファイルに書かれているデータを読みこんで配列に代入し 標準出力に書き出すプログラムを作り FORTRAN( と C) によるプログラミング 5 ファイル入出力 ここではファイルからデータを読みこんだり ファイルにデータを書き出したりするプログラムを作成してみます はじめに テキスト形式で書かれたデータファイルに書かれているデータを読みこんで配列に代入し 標準出力に書き出すプログラムを作ります FORTRAN の場合 OPEN 文でファイルを開いた後 標準入力の場合と同様に READ 文でデータを読みこみます

More information

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

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

More information

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

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

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅱ 11 回目スレッド課題 確認 問題次の各文は正しいか誤っているか答えなさい (1) スレッドは 1 つの実行箇所をもつ一連の処理の流れである (2) マルチスレッドで各スレッドの処理は並行して実行される (3) Java はマルチスレッド処理を記述できない (4) 新たにスレッドを生成する場合 Thread クラスを拡張し かつ Runnable インタフェースを実装する必要がある

More information

問題1 以下に示すプログラムは、次の処理をするプログラムである

問題1 以下に示すプログラムは、次の処理をするプログラムである 問題 1 次に示すプログラムは 配列 a の値を乱数で設定し 配列 a の値が 333 より大きく 667 以下の値 の合計値を求めるプログラムである 1 と 2 に適切なコードを記述してプログラムを完 成させよ class TotalNumber { public static void main(string[] args) { int[] a = new int[1000]; // 1 解答条件

More information

PowerPoint Presentation

PowerPoint Presentation ファイルの入出力 芝浦工業大学情報工学科 青木義満 今回の講義内容 ファイル入出力 ファイルからのデータ読込み ファイルと配列 2 1 ファイルへのデータ書き込み ( 復習 ) ソースファイル名 :fileio1.c データをファイルに書き込み #include int main(void) { ファイルポインタ宣言 int student_id = 100; char name[

More information

情報処理概論(第二日目)

情報処理概論(第二日目) 情報処理概論 工学部物質科学工学科応用化学コース機能物質化学クラス 第 8 回 2005 年 6 月 9 日 前回の演習の解答例 多項式の計算 ( 前半 ): program poly implicit none integer, parameter :: number = 5 real(8), dimension(0:number) :: a real(8) :: x, total integer

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション プログラミング初級 第 7 回 2017 年 5 月 29 日 配列 ( 復習 )~ 文字列 1 配列とは 2 配列 : 複数の変数をグループとしてまとめて扱うもの 配列 変数 int data[10]; 整数型の配列 同種のデータ型を連続して確保したものを配列とよぶ = 整数がそれぞれにひとつずつ入る箱を 10 個用意したようなもの int data; 整数型の変数 = 整数がひとつ入る dataという名前の箱を用意したようなもの

More information

スライド 1

スライド 1 プログラミングゼミ ( 第 5 回スタートアップゼミ?) 2012 年 6 月 26 日 ( 火 ) M1 伊藤創太 Java 編 計算時間の計測 currenttimemillis() メソッド 1970 年 1 月 1 日からの経過時間をミリ秒単位で取得 計算開始 終了時の取得時間の差で 計算時間を計測 プログラム全体や 部分ごとの計算時間計測も可能 1000ミリ秒 = 1 秒 long 型を使用

More information

JavaプログラミングⅠ

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

More information

PowerPoint Presentation

PowerPoint Presentation プログラミング基礎 第 2 週 (4,5,6 回 ) 2011-10-07 出村公成 この資料の再配布を禁止します 予定 プログラミング入門 (45 分 ) 変数 入出力 分岐 演習 (90 分 ) タッチタイプ練習 統合開発環境 Codeblocksの使い方 教科書例題の打ち込みと実行 プログラミング入門 C 言語の簡単な例を体験 変数 入出力 分岐 プログラムの例リスト 2.1 改 #include

More information

プログラミング入門1

プログラミング入門1 プログラミング入門 1 第 6 回 Switch 文 プロジェクトの持ち運び 授業開始前に ログオン後 不要なファイルを削除し て待機してください Java 1 第 6 回 2 前回のテーマ while 文を用いた繰り返し実行 for 文との使い分け 複雑な条件判定 && かつ または を使って Java 1 第 6 回 3 復習 : while 文はfor 文から 初期化式 を外に出し ステップを進める式

More information

- 2 Copyright (C) 2006. All Rights Reserved.

- 2 Copyright (C) 2006. All Rights Reserved. - 2 Copyright (C) 2006. All Rights Reserved. 2-3 Copyright (C) 2006. All Rights Reserved. 70-4 Copyright (C) 2006. All Rights Reserved. ...1...3...7...8 1...9...14...16 2...18...20...21 3...22...23...23...24

More information

Microsoft PowerPoint - ruby_instruction.ppt

Microsoft PowerPoint - ruby_instruction.ppt Ruby 入門 流れ Ruby の文法 画面に出力 キーボードから入力 数値 文字列 変数 配列 ハッシュ 制御構造 ( 分岐 繰り返しなど ) if while case for each 関数 クラス Ruby とは プログラミング言語 インタプリタ言語 オブジェクト指向 国産 ウェブアプリケーションフレームワーク RubyOnRails で注目 弊社での Web アプリケーション開発に利用 画面に出力

More information

Taro-ファイル処理(公開版).jtd

Taro-ファイル処理(公開版).jtd ファイル処理 0. 目次 1. はじめに 2. ファイル内容の表示 3. ファイル内容の複写 3. 1 文字単位 3. 2 行単位 4. 書式付き入出力 5. 文字配列への入出力 6. 課題 6. 1 課題 1 ( ファイル圧縮 復元 ) - 1 - 1. はじめに ファイル処理プログラムの形は次のようになる #include main() { FILE *fp1,*fp2; ファイルポインタの宣言

More information

Prog2_15th

Prog2_15th 2019 年 7 月 25 日 ( 木 ) 実施メニューメニューバーとコンテクストメニュー Visual C# では, メニューはコントロールの一つとして扱われ, フォームアプリケーションの上部に配置されるメニューバーと, コントロール上でマウスを右クリックすると表示されるコンテクストメニューとに対応している これ等は選択するとメニューアイテムのリストが表示されるプルダウンメニューと呼ばれる形式に従う

More information

<4D F736F F D20438CBE8CEA8D758DC F0939A82C282AB2E646F63>

<4D F736F F D20438CBE8CEA8D758DC F0939A82C282AB2E646F63> C 言語講座第 2 回 作成 : ハルト 前回の復習基本的に main () の中カッコの中にプログラムを書く また 変数 ( int, float ) はC 言語では main() の中カッコの先頭で宣言する 1 画面へ出力 printf() 2 キーボードから入力 scanf() printf / scanf で整数を表示 / 入力 %d 小数を表示 / 入力 %f 3 整数を扱う int 型を使う

More information

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

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

More information

3,, となって欲しいのだが 実際の出力結果を確認すると両方の配列とも 10, 2, 3,, となってしまっている この結果は代入後の配列 a と b は同じものになっていることを示している つまり 代入演算子 = によるの代入は全要素のコピーではなく 先をコピーする ため 代入後の a と b は

3,, となって欲しいのだが 実際の出力結果を確認すると両方の配列とも 10, 2, 3,, となってしまっている この結果は代入後の配列 a と b は同じものになっていることを示している つまり 代入演算子 = によるの代入は全要素のコピーではなく 先をコピーする ため 代入後の a と b は 配列 2 前回には 配列の基本的な使い方と拡張 for 文について学んだ 本日は配列に付いての追加の説明として 配列のコピー 文字列配列 ガーベジコレクション 多次元配列について学んでいく 配列のコピー配列を用意し その全ての要素を別の配列にコピーすることを考える まず 以下に間違った例を示していく プログラム例 1 public class Prog07_01 int[] a = 1, 2, 3,,

More information