独習Javaゼミ第10回 セクション1~3 発表者 直江 宗紀.

Slides:



Advertisements
Similar presentations
アルゴリズムとプログラミン グ (Algorithms and Programming) 第6回:クラスとインスタンス クラスの宣言 アクセス修飾子 インスタンスの生成 (new キーワード) this キーワード フィールドとメソッドの実際の定義と使い 方 クラスの宣言 アクセス修飾子 インスタンスの生成.
Advertisements

独習JAVA Chapter 6 6.6 クラスの修飾子 6.7 変数の修飾子 結城 隆. 6.6 クラスの修飾 abstract インスタンス化できないクラス。1つまたは複数のサブクラスで 実装してはじめてインスタンス化できる。 final 継承されたくないことを明示する。これ以上機能拡張 / 変更でき.
プログラミング第5回 1 while ループ 文字列の操作
6.4継承とメソッド 6.5継承とコンストラクタ 11月28日 時田 陽一
プログラミング 平成24年1月11日 森田 彦.
関数(静的メソッド:static method)
Applet 岡部 祐典 鈴木 敬幸.
~手続き指向からオブジェクト指向へ(Ⅰ)~
プログラミング基礎I(再) 山元進.
アルゴリズムとデータ構造1 2007年6月12日
アルゴリズムとプログラミング (Algorithms and Programming)
基礎プログラミング 第13回(2007年5月28日) 「関数」の補足説明 Report-Fの解説.
第2回:Javaの変数と型の宣言 プログラミングII 2007年10月2日.
独習Java ・ 10.6  Hashtableクラス ・ 10.7  String Tokenizerクラス  12月12日    小笠原 一恵.
繰り返し プログラミング 第4回 繰り返し プログラミング第4回.
第20章 Flyweight ~同じものを共有して無駄をなくす~
オブジェクト指向入門.
第12回独習Javaゼミ 12章セクション3~4 発表者 直江 宗紀.
アルゴリズムとデータ構造 2011年6月20日
第6回独習Javaゼミ 第6章 セクション4~6 発表者 直江 宗紀.
補足説明.
11.6 ランダムアクセスファイル 11.7 StreamTokenizerクラス
8.1 例外処理 8.2 catchブロックの検索 8.3 throwステートメント 8.4 例外とエラークラス 8.6 独自の例外
第4回JavaScriptゼミ セクション2-8 発表者 直江 宗紀.
Java入門 13.5カラーの使用 13.6テキストの表示                  2003/12/12                   紺野憲一.
JAVA入門後期⑩ 情報処理試験例題解説.
アルゴリズムとプログラミング (Algorithms and Programming)
第9章 例外処理,パッケージ 9.1 例外処理 9.2 ガーベッジコレクション.
オブジェクト指向 プログラミング 第八回 知能情報学部 新田直也.
独習JAVA 6.8 コンストラクタの修飾子 6.9 メソッドの修飾子 6.10 ObjectクラスとClassクラス 11月28日(金)
オブジェクト指向 プログラミング 第十一回 知能情報学部 新田直也.
第7回独習Javaゼミ セクション 1~4 発表者 直江 宗紀.
オブジェクト指向 プログラミング 第十三回 知能情報学部 新田直也.
暗号技術 ~JAVAプログラム①~ (5週目)
Collection, Generics, Iterator
5.9 メソッドのオーバーロード 5.10 変数の引渡し 2003/11/21 紺野憲一
7.4 intanceof 演算子 7.5~7.9パッケージ 2003/11/28 紺野憲一
オブジェクトのプロパティ プロパティとは? あたかもそういうメンバー変数(フィールド)がそのクラスに存在するかのように見せる仕組み!
もっと詳しくArrayクラスについて調べるには → キーワード検索
アルゴリズムとデータ構造1 2005年6月24日
ソフトウェア制作論 平成30年11月21日.
パッケージ,アクセス修飾子 2008年4月27日 海谷 治彦.
オブジェクト指向 プログラミング 第十ニ回 知能情報学部 新田直也.
オブジェクト指向 プログラミング 第六回 知能情報学部 新田直也.
計算機プログラミングI 第5回 配列 文字列(Stringクラス) mainの引数 配列の利用例
アルゴリズムとプログラミング (Algorithms and Programming)
オブジェクト指向 プログラミング 第九回 知能情報学部 新田直也.
オブジェクト指向 プログラミング 第八回 知能情報学部 新田直也.
オブジェクト指向 プログラミング 第六回 知能情報学部 新田直也.
プログラミング言語論 第十一回 理工学部 情報システム工学科 新田直也.
C#プログラミング実習 第3回.
計算機プログラミングI 木曜日 1時限・5時限 担当: 増原英彦 第1回 2002年10月10日(木)
計算機プログラミングI 第3回 プリミティブ値 クラスメソッド クラス変数 式と演算 変数の利用
アルゴリズムとプログラミング (Algorithms and Programming)
ソフトウェア制作論 平成30年11月28日.
計算機プログラミングI 第4回 2002年10月31日(木) 問題解決とアルゴリズム クラスメソッドと手続きの抽象化 最大公約数
Chapter 5 5.5 thisキーワード 5.6 インスタンス変数とインスタンスメソッド 結城 隆
JAVA入門⑥ クラスとインスタンス.
オブジェクト指向言語論 第九回 知能情報学部 新田直也.
アルゴリズムとデータ構造 2012年6月21日
Javaとは Javaとはオブジェクト指向言語でJava VM(Java仮想マシン)と呼ばれるプログラム上で動作します。
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
オブジェクト指向 プログラミング 第六回 知能情報学部 新田直也.
情報処理Ⅱ 小テスト 2005年2月1日(火).
値渡しと参照渡しについて.
オブジェクト指向言語論 第九回 知能情報学部 新田直也.
計算機プログラミングI 第2回 2002年10月17日(木) 履習登録 複習 ライブラリの利用 (2.6-7) 式・値・代入 (2.6-8)
オブジェクト生成の観測に基づく プログラム実行の要約の抽出
計算機プログラミングI 第10回 2002年12月19日(木) メソッドの再定義と動的結合 クイズ メソッドの再定義 (オーバーライド)
計算機プログラミングI 第5回 2002年11月7日(木) 配列: 沢山のデータをまとめたデータ どんなものか どうやって使うのか
Presentation transcript:

独習Javaゼミ第10回 セクション1~3 発表者 直江 宗紀

Javaクラスライブラリ クラスライブラリとは java.utilパッケージ 今回用いるユーティリティクラスが集約されたクラスライブラリのパッケージ 乱数、カレンダー等の日付、時間や、ベクトル、ハッシュ表、スタック等のデータ構造を扱える

10.1 Randomクラス(1) Randomクラス boolean型,double型,float型,int型,またはlong型の乱数を生成するクラス 乱数関数を用いる乱数以外に、ガウス分布に則る乱数を生成することも可能

10.1 Randomクラス(2) Randomコンストラクタ 引数無しでRandomコンストラクタを呼んだ時 コンストラクタとして、以下2つが用意されている Random() Random(long seed) (seedは乱数ジェネレータに渡される初期値) 引数無しでRandomコンストラクタを呼んだ時 現在時刻をseed(種値)とする

10.1 Randomクラス(3) boolean nextBoolean() 真または偽のどちらかを返す void nextBytes(byte buffer[]) bufferを乱数で埋める double nextDouble() double型の乱数を返す float nextFloat() float型の乱数を返す double nextGaussian() double型の乱数を返す。このメソッドを繰り返し呼び出すと、平均0と標準偏差の1のガウス分布の乱数が得られる Int nextInt() int型の乱数を返す Long nextLong() long型の乱数を返す void setSeed(long seed) 乱数ジェネレータに種値を与える

10.1 Randomクラス(4) 適当な乱数を発生させるプログラム例 import java.util.*; class RandomInts{ public static void main(String args[]){ //乱数ジェネレータを作成する Random generator=new Random() ; //10個のint型の乱数を生成する for(ing i=0;i<10;i++){ System.outo.println(generator.nextIng()) ; }

10.2 Dateクラス(1) Dateクラス Dateコンストラクタ 特定の日付と時刻に関する情報を扱える 以下の2つのコンストラクタが用意されている Date() Date(long msec) (msec:グリニッジ標準時で1970年1月1日午前0時からの経過時間をミリ秒で表した数値)

10.2 Dateクラス(2) boolean after(Date d) dが現在の日付よりも後の場合に真を返す。それ以外の場合は偽を返す boolean before(Date d) dが現在の日付よりも前の場合に真を返す。それ以外の場合は偽を返す boolean equals(Date d) dが現在の日付と同じ場合に真を返す。それ以外の場合は偽を返す long getTime() 基準時からの経過時間をミリ秒単位で返す void setTime(long msec) 基準時からmsecミリ秒経過した日付と時刻を現在のオブジェクトに設定する String toString() 日付を文字列にして返す

10.2 Dateクラス(3) Dateクラスを利用したプログラム例 import java.util.*; class DateDemo{ public static void main(String args[]){ //現在の日付/時間で初期化 Date currentDate=new Date() ; System.out.println(currentDate) ; //基準時(1970/1/1)に初期化する Date epoch=new Date(0) ; System.out.println(epoch) ; }

10.3Calendar,GregorianCalendarクラス(1) このクラスにより、日付と時刻の情報を交換可能 カレンダーの要素の取得または設定に使用できる、int型の定数がいくつか定義されている。 (例:AM,AM_PM,PM,HOUR_OF_DAY,等)

10.3Calendar,GregorianCalendarクラス(2) パブリックなコンストラクタは無い 静的メソッドgetInstance()を用いることにより現在の日付、時刻で初期化されたカレンダーを取得できる 例: Calendar now=Calendar.getInstance() ;

10.3Calendar,GregorianCalendarクラス(3) boolean after(Object calendarObj) 呼び出し元Calendarオブジェクトの日付がcalendarObjの日付よりも後の場合は真を、それ以外は偽を返す boolean before(Object calendarObj) 呼び出し元Calendarオブジェクトの日付がcalendarObjの日付よりも前の場合は真を、それ以外は偽を返す boolean equals(Object calendarObj) 呼び出し元Calendarオブジェクトの日付がcalendarObjの日付と同じ場合は真を、それ以外は偽を返す int get(int calendarField) 呼び出し元オブジェクトの要素の値を返す。目的の要素はcalendarFieldで指定する

10.3Calendar,GregorianCalendarクラス(4) static Calendar getInstance() 既定の場所とタイムゾーンに設定されたCalendarオブジェクトを返す final Date getTime() 呼び出し元オブジェクトの時刻に相当するDateオブジェクトを返す final void set(int year,int month,int date,int hour,int minite,int second) 呼び出し元オブジェクトのさまざまな日付/ 時刻要素を設定する final void setTime(Date d) 呼び出し元オブジェクトのさまざまな日付/ 時刻要素を設定する。設定する情報はDateオブジェクトdから取り出される

10.3Calendar,GregorianCalendarクラス(5) グレゴリオ暦に則って日付/時間を管理できる GregorianCalendarコンストラクタ 主なコンストラクタとして以下の物がある GregorianCalendar() GregorianCalendar(int year,int month,int date) GregorianCalendar(int year,int month,int date,int hour,int minute,int sec)

10.3Calendar,GregorianCalendarクラス(6) 追加されたメソッドもある isLeapYear(int year) 指定した年がうるう年の場合に真、そうでなければ偽を返すメソッド

演習問題 ガウス分布に従う乱数を100個生成し、それが本当にガウス分布に従うのか平均と分散それぞれの値を計算するプログラムを作成せよ。 基準時から現在までの間にうるう年が何度あったのかを調べるプログラムを作成せよ。 コマンドライン引数により、年、月、日にちが入力された時、その年月日がその年が始まって何日目なのか、そして何曜日なのかを示すプログラムを作成せよ。