Prog1_10th

Similar documents
Prog2_9th

Prog1_6th

Prog2_10th

Prog1_15th

Prog1_11th

Prog1_13th

Prog1_3rd

Prog1_2nd

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

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

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

JavaプログラミングⅠ

JavaプログラミングⅠ

Microsoft PowerPoint - prog09.ppt

Microsoft PowerPoint - prog09.ppt

Microsoft PowerPoint ppt

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

JavaプログラミングⅠ

Javaプログラムの実行手順

JavaプログラミングⅠ

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

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

PowerPoint プレゼンテーション

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


JavaプログラミングⅠ

Prog1_10th

JavaプログラミングⅠ

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

GEC-Java

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

Microsoft Word - java a.doc

Microsoft PowerPoint - prog03.ppt

スライド 1

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

DVIOUT-exer

スライド 1

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

Java講座

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

基本情報STEP UP演習Java対策

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

r1.dvi

GEC-Java

Prog1_6th

JavaプログラミングⅠ

2

メソッドのまとめ

PowerPoint Presentation

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

Programming-C-9.key

HCI プログラミング 10 回目テキストフィールドとキーイベント 今日の講義で学ぶ内容 テキストフィールドの利用 キーイベントの処理 テキストフィールドの利用 1 テキストフィールドを配置してみましょう テキストフィールドを用いることにより 数値や文字列などのデータ入力が可能になります ソースファ

ガイダンス

デジタル表現論・第6回

プログラミングA

JavaプログラミングⅠ

(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド

Microsoft PowerPoint - chap10_OOP.ppt

JAVA入門

JavaプログラミングⅠ

<4D F736F F D2091E F196E291E889F090E C4816A82CC838C E646F6378>

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

Javaの作成の前に

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

Java言語 第1回

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

第二回独習 Java ゼミ 第二章クラスとメソッド 2.1 メソッドの構造 2.2 静的メソッドと静的変数の概要 2.3 インスタンスメソッドとインスタンス変数の概要 2.4 Integerクラス 2006/04/19 神津健太

Prog1_12th

2

2

2

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

class TestPrimitiveType{ public static

デジタル表現論・第4回

Microsoft PowerPoint - prog13.ppt

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

K227 Java 2

Microsoft PowerPoint - prog13.ppt

PowerPoint プレゼンテーション

ÿþ˜u#u·0¹0Æ0à0

PowerPoint プレゼンテーション

問題 01 以下は コンソールより年齢を入力させ その年齢にあった料金を表示するプログラムである 年齢ごとの金額は以下の通りである 年齢の範囲金額 0 歳以上 6 歳以下 120 円 7 歳以上 65 歳未満 200 円 65 歳以上無料 package j1.exam02; import java

2006年10月5日(木)実施

JavaプログラミングⅠ

Javaによるアルゴリズムとデータ構造

Prog2_15th

問 次の Fortran プログラムの説明及びプログラムを読んで、設問に答えよ。

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

PowerPoint プレゼンテーション

: : : TSTank 2

Java知識テスト問題

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

Microsoft Word - keisankigairon.ch doc

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

Java Scriptプログラミング入門 3.6~ 茨城大学工学部情報工学科 08T4018Y 小幡智裕

Microsoft Word - problem3.doc

本サンプル問題の著作権は日本商工会議所に帰属します また 本サンプル問題の無断転載 無断営利利用を厳禁します 本サンプル問題の内容や解答等に関するお問 い合わせは 受け付けておりませんので ご了承ください 日商プログラミング検定 STANDARD(Java) サンプル問題 知識科目 第 1 問 (

Prog1_12th

Prog2_12th

Make the Future Java FY13 PPT Template

Transcription:

2014 年 6 月 19 日 ( 木 ) 実施 例外処理 Java 言語では, 作成したプログラムを実行する際に, 記述した処理が想定しない事態によって実行できなくなる場合を例外と呼び, その例外への対処, 即ち例外処理が求められる 例外処理を行うための try 文の一般形は次のようになる 例外を発生させる可能性のある処理 catch( 例外のクラス名 1 変数 1 ) 例外に対処する処理 1 catch( 例外のクラス名 2 変数 2 ) 例外に対処する処理 2 finally try 文の最後に必ず実行される処理 ここで,catch 節とfinally 節とは何れかを必ず記述する catch 節は必要に応じて, 例外を場合分けして複数記述することが出来る finally 節には例外発生時に中断した処理の後処理等を記述する なお, 例外クラスの最も基本的なクラスは Exception なので,catch 節の引数に Exceptionを記述した場合には, 全ての例外クラスに対応出来る 例題 1( 例外を発生させてみる-1) 次のプログラムは, 標準入力装置から 2 個の整数を入力して, 和, 差, 積, 商, 余りを求めて標準出力装置に表示するものである これを入力, ビルドして, 実行せよ なお, 実行は次の様に 3 回行う また, その際に発生した例外に対するメッセージを確認する 1) 0 以外の整数を入力する 通常, 例外は発生しない 2) 1 つ目の整数を入力すべきところに整数以外の文字を入力してみる 3) 2 つ目の整数として 0を入力してみる ここで, クラス名は Sample10_1, ソースファイル名はSample10_1.java とする import java.util.inputmismatchexception; public class Sample10_1 public static void main(string[] args) - 1 -

final int NUM = 2; int[] x = 1, 1; for (int i=0; i<num; i++) x[i] = inx(i); System.out.printf("%d + %d => %d%n", x[0],x[1],sum(x[0],x[1])); System.out.printf("%d - %d => %d%n", x[0],x[1],diff(x[0],x[1])); System.out.printf("%d * %d => %d%n", x[0],x[1],prod(x[0],x[1])); System.out.printf("%d / %d => %d%n", x[0],x[1],quot(x[0],x[1])); System.out.printf("%d %% %d => %d%n", x[0],x[1],rem(x[0],x[1])); private static int inx(int j) int num = 0; num = sc.nextint(); catch (InputMismatchException err) System.out.println(" 例外をキャッチ : "+err); return num; private static int sum(int a,int b) return a+b; private static int diff(int a,int b) return a-b; private static int prod(int a,int b) return a*b; private static int quot(int a,int b) return a/b; private static int rem(int a,int b) return a%b; - 2 -

例題 2( 例外を発生させてみる -2) バグ ( プログラムの誤り ) を含む次のプログラムを入力, ビルドして, 実行せよ ここで, クラス 名は Sample10_2, ソースファイル名は Sample10_2.java とする public class Sample10_2 public static void main(string[] args) final int NUM = 5; int sum = 0; int[] x = 0, 0, 0, 0, 0; for (int i=0; i<num; i++) x[i] = Integer.parseInt(inx(i)); catch (NumberFormatException exnf) System.out.println(" 整数を入力してください "); i--; for (int i=0; i<=num; i++) sum += x[i]; catch (Exception e) System.out.println(" 例外 "+e+" をキャッチ "); finally System.out.println(" 合計は "+sum+" です "); private static String inx(int j) String str; str = sc.next(); return str; 解説 1. このプログラムの inx メソッドでは標準入力装置から入力されたデータは, 文字列として変数に格納され, 呼び出し側に返される 2.finally 節は必ず実行されるため, 例外が発生する直前の sumの値が表示される - 3 -

3.Integer.parseInt は, プリミティブ型 int の値をオブジェクトにラップする,Integer クラスのメソッドである parseint メソッドは, 文字列の引数を符号付き 10 進数の整数型として構文解析する 文字列にある文字は 1 番目の文字以外は全て,10 進数でなければならない 1 番目の文字は, 負の値を表すためのマイナス記号の ASCII 文字 '-' (\u002d) とすることが可能である 以上の結果, 生成された整数値が返される クラスの階層は, 次の通りである java.lang.object java.lang.number java.lang.integer * プリミティブ型はオブジェクトではなく, フィールドやメソッドを持たない そこで, それぞれのプリミティブ型に対応するラッパークラスが用意されており,Integer クラスは, そのうちの一つである ** parseint メソッドに対して, 符号付き 10 進数以外の文字列を引き渡した場合には, 例外が発生する 演習次のプログラムリストの空欄を埋めたプログラムを作成し, ビルドして実行せよ ここで, プログラムのクラス名は Ex10, ソースプログラム名は Ex10.java とする 但し, このプログラムにはバグがあるので, 挙動のおかしな部分をtry 文で囲み ( 桃色の四角い枠内 ), 例外を発生させて検査しようとしている 従って, 実行時には, 先ず正の整数を 5 個入力して, どのような結果が得られるかを確認した上で, 次に 5 個の整数として全て 0 を入力して, 例外が発生することを確認する また, その際に発生した例外に対するメッセージを確認する public class Ex10 public static void main(string[] args) final int NUM = 5; int sum = 0; int[] x = 0, 0, 0, 0, 0; double ave = 0.0; for (int i=0; i<num; i++) x[i] = Integer.parseInt(inx(i)); catch (NumberFormatException exnf) System.out.println(" 整数を入力してください "); i--; for (int i=0; i<num; i++) sum += x[i]; - 4 -

ave = NUM / sum; 1) (Exception 2) ) System.out.println(" 例外 "+ex+" をキャッチ "); ex.printstacktrace(); 3) System.out.println(" 合計は "+sum+" です "); System.out.println(" 平均は "+ave+" です "); private static String inx(int j) String str; str = sc.next(); return str; 解説 例外のインスタンスに対して printstacktrace メソッドを用いると, どのクラスの何行 目でどのような例外が発生させられたかという, スタックトレースと呼ばれる情報が表示される 提出物 : 1) 例題 1 2 及び演習の出力結果 ( 例外の表示を含む ) をコピーして貼り付けたテキストファイル res10.txt 2) 演習で空欄を埋めたソースプログラムのファイル Ex10.java - 5 -