今回の内容 グラフとオブジェクト指向プログラミング Java を使う理由 Java の基本 Javaのライブラリ 開発 実行 クラスの再利用 クラス継承 抽象クラス 開発の要点
|
|
|
- たみえ わしあし
- 7 years ago
- Views:
Transcription
1 JAVA 入門
2 今回の内容 グラフとオブジェクト指向プログラミング Java を使う理由 Java の基本 Javaのライブラリ 開発 実行 クラスの再利用 クラス継承 抽象クラス 開発の要点
3 グラフを記述するには 頂点 (Vertex) と弧 (Arc) その間の関係 素直にデータ構造として表現したい グラフは 頂点と弧の集合 弧から始点と終点を得る 頂点から その頂点を始点とする弧の集合を得る 頂点と弧をモノ (object) として捉える モノを中心にプログラムを考える枠組みが欲しい オブジェクト指向プログラミング
4 オブジェクト指向 (OBJECT ORIENTED) もの (object) の操作 動作を中心に考える 操作や動作を日本語で考え 出てくる名詞に注目する オブジェクトの構成 属性 (field): データなど 操作 (method) オブジェクト A 属性 (field) 操作方法 (method) 通信 操作 オブジェクト B 属性 (field) 操作方法 (method)
5 グラフをオブジェクト指向プログラミングで考える グラフの構造を表すデータ構造 グラフ 頂点 弧 階層的データ グラフの要素としての頂点と弧 頂点に接続している弧のリスト 弧の両端の頂点 頂点の一覧 グラフ ± + δ 弧の一覧
6 各データごとの操作 弧に値を設定する 探索問題 : 頂点や弧に印を付ける データのカプセル化 グラフとしての整合性を維持 頂点や弧に属性等を追加 型の継承と拡張 弧に 流れ の属性を付けて拡張 グラフの可視化
7 様々な OOP 言語 Smalltalk80 Xerox, Palo Alto 研究所 C++ B. Stroustrup C にOOPを導入 Java Sun Microsystems (Oracle) Ruby まつもとひろゆき スクリプト言語
8 C++ ではなく JAVA を使う理由 豊富なユーティリティー java.util.arraylist など 使い易い開発環境 (IDE) NetBeans Eclipse 多数の OS で使える Windows Linux Solaris OSに依存しない実行形式 GUI 開発が容易 IDE を使うと簡単
9 JAVAの基本 全てがクラス 開始点となるクラスが必要 public static void main(string[] args) メソッドから始まる mainは主となるクラスを起動するだけ コンストラクタメソッド クラスと同じ名前のメソッド デストラクタは無い 自動ガベージコレクション
10 一つのクラスで一つのファイルが基本 ファイル名はクラス名と同じ ヘッダファイルが無い ライブラリは import 文を使う C/C++ のポインタは無い 原始型は値代入 クラスオブジェクトは参照
11 文法はだいたいC++ と同じ 原始型はint double char booleanなど 原始型に対応したクラスがある Integer Double Character Boolean など 文字列 Stringや原始型の配列はクラス ポインタが無い デストラクタは書かない 不要なオブジェクトは自動で削除される クラスは階層化され パッケージになっている
12 package StudentSample; public class Student { // クラス内のフィールド private String name=null;// 名前 private int studentid=0; // 学生番号 private int record=0; // 点数 /** * コンストラクタ : インスタンスを生成する */ public Student(String name, int studentid) { this.name=name; this.studentid=studentid; /** 取得メソッドと設定メソッド **/ public int getstudentid() {return studentid; public String getname() {return name; public int getrecord() {return record; クラス宣言 クラス内フィールドクラス内のデータ コンストラクタクラスインスタンス生成 メソッドクラスインスタンス操作 public void setrecord(int record) { this.record = record;
13 便利なライブラリ オンラインマニュアル 基本的なクラス :java.lang 入出力 :java.io コレクション ( リストなど ):java.util 基本 GUI:java.awt 拡張 GUIセットSwing:javax.swing
14 開発環境 NetBeans プロジェクト管理 UMLとの連携 メソッド名の補完 パーツを使ったGUI 構築 CVS 等を使ったバージョン管理
15 プログラム開発の手順 作業ディレクトリを決める デフォルトでは ~/Documents/NetBeansProjects NetBeans を起動 ファイル 新規プロジェクト プロジェクトウィンドウ内で プロジェクト名 ソースパッケージ デフォルトパッケージ で右ボタン 新規
16 新しいクラスを作る GUI の無い主クラス Java 主クラス GUI のある主クラス JFrame フォーム テンプレートを上手に使う
17 構築と実行 プロジェクトウィンドウ内で プロジェクト名 プロジェクトを構築 プロジェクトウィンドウ内で プロジェクト名 プロジェクトを実行 主クラス名 ファイルを実行 デフォルトでは ファイルを保存すると コンパイルする
18 サンプルプログラムを作成する場合例 :STUDENTSAMPLE プロジェクト StudentSample を作成する プロジェクトディレクトリの構造 src の下に *.java ファイルをダウンロード プロジェクト内にクラスが表示される
19 OOP と開発効率 OOPはプログラム開発効率を改善する カプセル化 クラス内部の構造を隠す 変更をクラス内に止め 他に影響を与えない クラスの継承 再利用 機能や属性を既存のクラスに追加する 抽象クラス 機能や属性の似たクラスをグループ化する
20 クラスの継承 再利用 既存のクラスを継承して拡張 クラスの継承とインターフェイスの利用 既存のクラスとの調整をするクラスを作る インターフェイス的な調整 既存のクラスを要素として持つクラスを作る
21 クラスの継承 出来上がったクラスの資産を生かす 標準的クラスの資産を生かす クラスの組に共通なデータや動作を定義する 一つのクラスしか継承できないことに注意 クラス スーパークラス
22 アクセス制限 public class B extends A public class A { private int a; protected int b; public int c; method public class C method
23 ABSTRACT CLASSES 基本となるデータ構造とメソッドを定義 メソッドの一部は実装が定義されていない abstract method 継承クラスを定義して使う 例 java.util.abstractlist 上記の実装の一つがjava.util.ArrayList
24 INTERFACES abstract methodのみで構成されている アクセス方法だけが指定されている 他のプログラムからの見え方を規定 class A implements インターフェイス { 例 java.lang.runnable メソッドrun() が定義されている スレッドからの呼び出しに使う
25 例 : COMPARABLE インターフェイス 大小関係があるインスタンスを表す 順序付けることができる 必ずメソッド int compareto() を実装しなければならない 引数と比較して 0 または ±1 を返す ソートプログラムは Comparable インターフェイスを持ったクラスを compareto() を使って並べ替える クラスの中の構造は知らなくて良い
26 プログラム開発の要点 開発 保守コストを下げる クラスの再利用 ルーチン化したコードを再利用 他の人のノウハウを借用 分かりやすい構成 自分にも他人にもわかるように 修正箇所の限定 修正の影響範囲を明確化
27 プログラム開発の要点 2 アルゴリズムをデータの詳細と切り離す ソートのアルゴリズムは ソートされるデータの詳細とは関係ない スレッドプログラムは 各スレッド内で何をしているかと関係ない 問題をオブジェクトの運動として捉える 小さなオブジェクトへ分割 小さなオブジェクトならば その役割が明確になる
28 Student.java package StudentSample; /** * Student.java * Created on 2007/04/15, 11:34 * 生徒のクラス tadaki */ public class Student { // クラス内のフィールド private String name=null;// 名前 private int studentid=0; // 学生番号 private int record=0; // 点数 /** * コンストラクタ : インスタンスを生成する */ public Student(String name, int studentid) { this.name=name; this.studentid=studentid; /** 取得メソッドと設定メソッド **/ public int getstudentid() {return studentid; public String getname() {return name; public int getrecord() {return record; public void setrecord(int record) { this.record = record; 1/1 ページ
29 StudentRecord.java package StudentSample; import java.util.arraylist; import java.util.collections; import java.util.list; /* * StudentRecord.java * * Created on 2007/04/15, 11:34 tadaki */ public class StudentRecord { private List<Student> students = null;// 生徒一覧 private String names[] = { "Aoyama", "Asou", "Baba", "Chou", "Egashira", "Eto", "Funaki", "Goto", "Gunji", "Hara", "Hashimoto", "Ikeuchi", "Ito", "Jo", "Kayama", "Mori", "Naito", "Tada", "Yamada", "Yoshida" ; /** コンストラクタ */ public StudentRecord() { // 生徒一覧を初期化 students = Collections.synchronizedList(new ArrayList<Student>()); // 登録 for (int i = 0; i < names.length; i++) { Student s = new Student(names[i], i); s.setrecord((int) (100 * Math.random())); students.add(s); public void liststudents() { int max = 0; Student best = students.get(0); 1/2 ページ // 拡張された for ループ for (Student s : students) { int r = s.getrecord(); System.out.print(String.valueOf(s.getStudentID())
30 StudentRecord.java + ":" + s.getname() + ":"); System.out.println(String.valueOf(r)); if (r > max) { max = r; best = s; System.out.println(); System.out.print("Best is "); System.out.print(String.valueOf(best.getStudentID()) + ":" + best.getname() + ":"); System.out.println(String.valueOf(best.getRecord())); /** args the command line arguments */ public static void main(string[] args) { StudentRecord studentrecord = new StudentRecord(); studentrecord.liststudents(); 2/2 ページ
31 Student.java package StudentSample2; /** * 生徒のクラス * Comparable インターフェイスの例 tadaki */ public class Student implements Comparable<Student> { private String name = null;// 名前 private int studentid = 0; // 学生番号 private int record = 0; // 点数 /** * コンストラクタ name 名前 studentid 学生番号 */ public Student(String name, int studentid) { this.name = name; this.studentid = studentid; /** * 学生番号取得 取得した学生番号 */ public int getstudentid() { return studentid; /** * 名前取得 取得した名前 */ public String getname() { return name; /** * 得点取得 取得した得点 */ public int getrecord() { 1/2 ページ
32 Student.java return record; /** * 得点設定 record 設定する得点 */ public void setrecord(int record) { this.record = /** * Student インスタンスの比較 * インターフェイス Comparable で必須 */ public int compareto(student o) { int k = 1; if (this.getrecord() < o.getrecord()) { k = -1; return k; 2/2 ページ
33 StudentRecord.java package StudentSample2; import java.util.arraylist; import java.util.collections; import java.util.list; /** * tadaki */ public class StudentRecord { private List<Student> students = null;// 生徒一覧 /** 名前一覧 */ private String names[] = { "Aoyama", "Asou", "Baba", "Chou", "Egashira", "Eto", "Funaki", "Goto", "Gunji", "Hara", "Hashimoto", "Ikeuchi", "Ito", "Jo", "Kayama", "Mori", "Naito", "Tada", "Yamada", "Yoshida" ; /** コンストラクタ */ public StudentRecord() { // 生徒一覧を初期化 students = Collections.synchronizedList(new ArrayList<Student>()); // 登録 for (int i = 0; i < names.length; i++) { Student s = new Student(names[i], i); s.setrecord((int) (100 * Math.random())); students.add(s); /** * 学生一覧印刷 */ public void liststudents() { // 拡張された for ループ for (Student s : getstudents()) { System.out.print(String.valueOf(s.getStudentID()) + ":" + s.getname() + ":" ); System.out.println(String.valueOf(s.getRecord())); 1/2 ページ
34 StudentRecord.java /** * 学生一覧取得 学生一覧の Vector */ public List<Student> getstudents() { return students; /** * ソートの実行 <T> Comparable インターフェイスを実装したクラス t Vector<T> */ public static <T extends Comparable<T>> void sort(list<t> t) { for (int i = t.size(); i > 0; i--) { for (int j = 0; j < i - 1; j++) { if (t.get(j).compareto(t.get(j + 1)) > 0) { T c = t.get(j); t.set(j, t.get(j + 1)); t.set(j + 1, c); /** args the command line arguments */ public static void main(string[] args) { StudentRecord studentrecord = new StudentRecord(); StudentRecord.sort(studentRecord.getStudents()); studentrecord.liststudents(); 2/2 ページ
グラフを表すデータ構造 Javaでの実装
グラフを表すデータ構造 JAVA での実装 なぜ JAVA を使うか グラフの実装 頂点 弧及びその関連を記述する 頂点の数 弧の数を柔軟に変える必要あり グラフ探索など リンクをたどる必要あり オブジェクト指向言語が向いている オブジェクト数の柔軟な変更 再帰的関数 メソッド リストなどの豊富なライブラリ java.util.vector など 使い易い開発環境 プロジェクト管理 クラス管理 GUI
目的 泡立ち法を例に Comparableインターフェイスの実装 抽象クラスの利用 型パラメタの利用 比較 入替 の回数を計測
泡立ち法とその実装 計算機アルゴリズム特論 :2017 年度只木進一 目的 泡立ち法を例に Comparableインターフェイスの実装 抽象クラスの利用 型パラメタの利用 比較 入替 の回数を計測 Comparable インターフェイ ス クラスインスタンスが比較可能であることを示す Int compareto() メソッドを実装 Integer Double String などには実装済み public
文字列操作と正規表現
文字列操作と正規表現 オブジェクト指向プログラミング特論 2018 年度只木進一 : 工学系研究科 2 文字列と文字列クラス 0 個以上の長さの文字の列 Java では String クラス 操作 文字列を作る 連結する 文字列中に文字列を探す 文字列中の文字列を置き換える 部分文字列を得る 3 String クラス 文字列を保持するクラス 文字列は定数であることに注意 比較に注意 == : オブジェクトとしての同等性
グラフの探索 JAVA での実装
グラフの探索 JAVA での実装 二つの探索手法 深さ優先探索 :DFS (Depth-First Search) 幅優先探索 :BFS (Breadth-First Search) 共通部分 元のグラフを指定して 極大木を得る 探索アルゴリズムの利用の観点から 利用する側からみると 取り替えられる部品 どちらの方法が良いかはグラフに依存 操作性が同じでなければ 共通のクラスの派生で作ると便利 共通化を考える
プログラミング基礎I(再)
山元進 クラスとは クラスの宣言 オブジェクトの作成 クラスのメンバー フィールド 変数 配列 メソッド メソッドとは メソッドの引数 戻り値 変数の型を拡張したもの 例えば車のデータベース 車のメーカー 車種 登録番号などのデータ データベースの操作 ( 新規データのボタンなど ) プログラムで使う部品の仕様書 そのクラスのオブジェクトを作ると初めて部品になる 継承 などの仕組みにより カスタマイズが安全
10/ / /30 3. ( ) 11/ 6 4. UNIX + C socket 11/13 5. ( ) C 11/20 6. http, CGI Perl 11/27 7. ( ) Perl 12/ 4 8. Windows Winsock 12/11 9. JAV
[email protected] [email protected] http://www.misojiro.t.u-tokyo.ac.jp/ tutimura/sem3/ 2002 12 11 p.1/33 10/16 1. 10/23 2. 10/30 3. ( ) 11/ 6 4. UNIX + C socket 11/13 5. ( ) C 11/20
シミュレーションの簡単な例 GUI 無しのシミュレーションを作る GUI を作る パラメタを設定するデモンストレーションをする 2 オブジェクト指向プログラミング特論
例 : 簡単な酔歩シミュレーション 1 オブジェクト指向プログラミング特論 シミュレーションの簡単な例 GUI 無しのシミュレーションを作る GUI を作る パラメタを設定するデモンストレーションをする 2 オブジェクト指向プログラミング特論 簡単な二次元酔歩 Walker は二次元面内で 4 方向に等確率で移動 メソッド move で移動し 新しい位置を返す Simulation クラス 多数の
JavaプログラミングⅠ
Java プログラミング Ⅰ 12 回目クラス 今日の講義で学ぶ内容 クラスとは クラスの宣言と利用 クラスの応用 クラス クラスとは 異なる複数の型の変数を内部にもつ型です 直観的に表現すると int 型や double 型は 1 1 つの値を管理できます int 型の変数 配列型は 2 5 8 6 3 7 同じ型の複数の変数を管理できます 配列型の変数 ( 配列変数 ) クラスは double
メディプロ1 Javaプログラミング補足資料.ppt
メディアプロジェクト演習 1 Javaプログラミング補足資料 l Javaとは l JavaScript と Java 言語の違い l オブジェクト指向 l コンストラクタ l 継承 抽象クラス 本資料内のページ番号は, 以下の参考書のページを引用している高橋麻奈 : やさしい Java, ソフトバンククリエイティブ (2,625 円 ) はじめに l プログラミング言語とは? l オブジェクト指向とは?
Javaの作成の前に
メディアプロジェクト演習 1 参考資料 Javaとは JavaScript と Java 言語の違い オブジェクト指向 コンストラクタ サーブレット 本資料内のページ番号は, 以下の参考書のページを引用している 高橋麻奈 : やさしい Java, ソフトバンククリエイティブ (2,625 円 ) はじめに プログラミング言語とは? オブジェクト指向とは? Java 言語とは? JavaとJavaScriptの違いとは?
コンピュータ中級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
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,
基本情報STEP UP演習Java対策
トレーニング編 1. 予約語 extends アクセスレベル class サブクラス名 extends スーパクラス名 { (1) スーパクラス ( 既存のクラス ) を拡張して, サブクラス ( 新しいクラス ) を定義する場合に extends を利用する (2) extends の後ろには, スーパクラスの名前を一つだけ指定できる (3) サブクラスからインスタンスを生成すると, スーパクラスに定義されたインスタンス変数やメソッドがこのインスタンス内部に引き継がれる
PowerPoint プレゼンテーション
オブジェクト指向 プログラミング演習 第 4 回継承 オーバーライド ポリモルフィズム 今日のお題 継承 オーバーライド ポリモルフィズム 継承 (inherit) あるクラス c のサブクラス s を定義する : このとき s は c を継承していると言う 何かの下位概念を表すクラスは その上位概念を表すクラスの属性や機能を ( 基本的には ) 使える 継承の例 大学生 長崎県立大学の学生 大学生を継承する概念
Java言語 第1回
Java 言語 第 2 回簡単な Java プログラムの作成と実行 知的情報システム工学科 久保川淳司 [email protected] 簡単な Java プログラム Java プログラムのファイル名 Java プログラムのファイル名命名ルール ファイル名とクラス名は同じでなければならない HelloJava.java public class HelloJava { public
た場合クラスを用いて 以下のように書くことが出来る ( 教科書 p.270) プログラム例 2( ソースファイル名 :Chap08/AccountTester.java) // 銀行口座クラスとそれをテストするクラス第 1 版 // 銀行口座クラス class Account String name
クラス ( 教科書第 8 章 p.267~p.297) 前回は処理をまとめる方法として メソッドについて学習した 今回はメソッドとその処理の対象となるデータをまとめるためのクラスについて学習する このクラスはオブジェクト指向プログラミングを実現するための最も重要で基本的な技術であり メソッドより一回り大きなプログラムの部品を構成する 今回はクラスにおけるデータの扱いとクラスの作成方法 使用方法について説明していく
メソッドのまとめ
メソッド (4) 擬似コードテスト技法 http://java.cis.k.hosei.ac.jp/ 授業の前に自己点検以下のことがらを友達に説明できますか? メソッドの宣言とは 起動とは何ですか メソッドの宣言はどのように書きますか メソッドの宣言はどこに置きますか メソッドの起動はどのようにしますか メソッドの仮引数 実引数 戻り値とは何ですか メソッドの起動にあたって実引数はどのようにして仮引数に渡されますか
2
プログラミング応用演習 b 10 月 5 日演習課題 2016/10/05 PAb 演習課題 プログラム仕様書作成課題 課題クラスを読み 次に示すクラスの仕様書を完成させよ なお 仕様書は クラス 1 つに付き 1 つ作成す る 加えて 図 1 のようなクラス継承の模式図を作成せよ < クラス名 のプログラム仕様書 > 作成者 : 学籍番号 名前 (1) クラスクラス名 : クラス名 説明 : クラスが何を表現しているか
Java講座
~ 第 1 回 ~ 情報科学部コンピュータ科学科 2 年竹中優 プログラムを書く上で Hello world 基礎事項 演算子 構文 2 コメントアウト (//, /* */, /** */) をしよう! インデントをしよう! 変数などにはわかりやすい名前をつけよう! 要するに 他人が見て理解しやすいコードを書こうということです 3 1. Eclipse を起動 2. ファイル 新規 javaプロジェクト
JAVA入門
JAVA 入門後期 10 情報処理試験例題解説 H14 年度秋問 8 次の Java プログラムの説明及びプログラムを読んで, 設問に答えよ プログラムの説明 ディジタル論理回路シミュレータを作成するためのクラスとテスト用クラスである (1) ゲートを表す抽象クラス Gate のサブクラスとして, NOT ゲートを表すクラス NotGate 及び AND ゲートを表すクラス AndGate を定義する
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
JavaプログラミングⅠ
Java プログラミング Ⅱ 6 回目継承課題 確認 問題次の各文は正しいか誤っているか答えなさい (1) 新しいクラスを宣言するとき既存のクラスを利用することはできない (2) 新しいクラスが既存のクラスのメンバーを受け継ぐことを継承という (3) クラスの拡張における既存のクラスをサブクラスという (4) サブクラスからスーパークラスの private メンバーをアクセスすることはできない (5)
JavaプログラミングⅠ
Java プログラミング Ⅱ 3 回目クラスの機能 (1) アクセス制限 オーバーロード課題 確認 問題次の各文は正しいか誤っているか答えなさい (1) クラスの private メンバは そのクラスからのみアクセス可能なメンバである (2) 一般に クラスのフィールドはどこからでもアクセスできるように public メンバで宣言すべきである (3) クラスは private メンバと public
JavaプログラミングⅠ
Java プログラミング Ⅱ 4 回目クラスの機能 (2) コンストラクタ クラス変数 クラスメソッド課題 確認 問題次の各文は正しいか誤っているか答えなさい (1) コンストラクタはメソッドと同様に戻り値をもつ (2) コンストラクタはオブジェクトが生成されると最初に実行される (3) コンストラクタはメソッドと同様にオーバーロードができる (4) コンストラクタは常に public メンバとしなければならない
新・明解Java入門
537,... 224,... 224,... 32, 35,... 188, 216, 312 -... 38 -... 38 --... 102 --... 103 -=... 111 -classpath... 379 '... 106, 474!... 57, 97!=... 56 "... 14, 476 %... 38 %=... 111 &... 240, 247 &&... 66,
問 次の Fortran プログラムの説明及びプログラムを読んで、設問に答えよ。
ソフトウェア基礎演習課題 文法理解度確認範囲 問題 1 データ型 ( 変数, データ型 ) 問題 2 制御構造 (switch 文 ) 問題 3 制御構造 (while 文 ) 問題 4 制御構造と配列 ( 総和 ) 問題 5 制御構造と配列 ( 総和, 平均 ) 問題 6 データ型と各種演算子 ( 文字列, 検索 ) 問題 7 クラスの定義 ( メソッドの定義, コンストラクタの定義, キャスト
JavaプログラミングⅠ
Java プログラミング Ⅱ 8 回目抽象クラスとインタフェース課題 確認 問題次の各文は正しいか誤っているか答えなさい (1) 抽象クラスのオブジェクトは生成できる (2) 抽象メソッドとはメソッドの本体が未定義のメソッドである (3) 抽象メソッドをメンバーにもつクラスは抽象クラスである (4) 抽象クラスを拡張してすべての抽象メソッドをオーバーライドすれば サブクラスのオブジェクトを生成できる
Java 基礎問題ドリル ~ メソッドを理解する ~ 次のプログラムコードに 各設問の条件にあうメソッドを追加しなさい その後 そのメソッドが正しく動作することを検証するためのプログラムコードを main メソッドの中に追加しなさい public class Practice { // ここに各設問
Java 基礎問題ドリル ~ メソッドを理解する ~ 次のプログラムコードに 各設問の条件にあうメソッドを追加しなさい その後 そのメソッドが正しく動作することを検証するためのプログラムコードを main メソッドの中に追加しなさい public class Practice { // ここに各設問のメソッドを追加する public static void main(string[] args) {
Exam : 1z1-809-JPN Title : Java SE 8 Programmer II Vendor : Oracle Version : DEMO Get Latest & Valid 1z1-809-JPN Exam's Question and Answers 1 from Ac
Actual4Test http://www.actual4test.com Actual4test - actual test exam dumps-pass for IT exams Exam : 1z1-809-JPN Title : Java SE 8 Programmer II Vendor : Oracle Version : DEMO Get Latest & Valid 1z1-809-JPN
(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド
メソッド ( 教科書第 7 章 p.221~p.239) ここまでには文字列を表示する System.out.print() やキーボードから整数を入力する stdin.nextint() などを用いてプログラムを作成してきた これらはメソッドと呼ばれるプログラムを構成する部品である メソッドとは Java や C++ などのオブジェクト指向プログラミング言語で利用されている概念であり 他の言語での関数やサブルーチンに相当するが
解答上の注意 1 解答は 解答 紙の問題番号に対応した解答欄にマークしなさい 2 選択肢は 問ごとに 意されています 問 1の選択肢は 問 2で使 しません 3 選択肢は量が多いため 探しやすさの観点よりグループ分けされています グループ分けに合わせて解答欄が区切られていますが 横 1 列で問題 1
解答上の注意 1 解答は 解答 紙の問題番号に対応した解答欄にマークしなさい 2 選択肢は 問ごとに 意されています 問 1の選択肢は 問 2で使 しません 3 選択肢は量が多いため 探しやすさの観点よりグループ分けされています グループ分けに合わせて解答欄が区切られていますが 横 1 列で問題 1つ分となっています 4 問題の 中の 1 2 などには 特に指 がないかぎり 与えられた 問選択肢群が
Javaプログラムの実行手順
戻り値のあるメソッド メソッドには 処理に使用する値を引数として渡すことができました 呼び出し 側からメソッドに値を渡すだけでなく 逆にメソッドで処理を行った結果の値を 呼び出し側で受け取ることもできます メソッドから戻してもらう値のことを もどりち戻り値といいます ( 図 5-4) 図 5-4. 戻り値を返すメソッドのイメージ 戻り値を受け取ることによって ある計算を行った結果や 処理に成功したか失
問題1 以下に示すプログラムは、次の処理をするプログラムである
問題 1 次に示すプログラムは 配列 a の値を乱数で設定し 配列 a の値が 333 より大きく 667 以下の値 の合計値を求めるプログラムである 1 と 2 に適切なコードを記述してプログラムを完 成させよ class TotalNumber { public static void main(string[] args) { int[] a = new int[1000]; // 1 解答条件
第1章 ビジュアルプログラミング入門
付録 A 既存のクラスの利用の仕方 第 7 章では フレームクラス (NewJFrame.java) とそこから呼び出されるクラス (Meibo.java など ) を同じプロジェクト内 つまり同じパッケージ内に定義しました しかし 一般には 別のパッケージ ( フォルダ ) に保管されているクラスを利用する場合があります ここでは その方法を説明します なお フォルダは Java の用語ではパッケージに対応するので
オブジェクト指向プログラミング・同演習 5月21日演習課題
オブジェクト指向プログラミング 同演習 5 月 21 日演習課題 問題 1 配列の例外処理例外が発生する可能性のある処理を try で囲み その後に catch で例外を捕捉します 例外処理の終了処理として finally が行われます これは書かなくて自動的に行われます 提出課題 1 (Kadai052301.java) 以下のプログラムは例外処理をしていない ArrayIndexOutOfBoundsException
JavaプログラミングⅠ
Java プログラミング Ⅱ 11 回目スレッド課題 確認 問題次の各文は正しいか誤っているか答えなさい (1) スレッドは 1 つの実行箇所をもつ一連の処理の流れである (2) マルチスレッドで各スレッドの処理は並行して実行される (3) Java はマルチスレッド処理を記述できない (4) 新たにスレッドを生成する場合 Thread クラスを拡張し かつ Runnable インタフェースを実装する必要がある
1/8 ページ Java 基礎文法最速マスター Java Javaの文法一覧です 他の言語をある程度知っている人はこれを読めばJavaの基礎をマスターしてJavaを書くことができるようになっています 簡易リファレンスとしても利用できると思いますので これは足りないと思うものがあれば教えてください 1. 基礎 class の作成プログラムはclassに記述します たとえばSampleという名前のclassを作る場合
PowerPoint Presentation
ソフトウェア演習 B GUI を持つ Java プログラムの 設計と実装 4.1 例題 :GUI を持った電卓を作ろう プロジェクトCalculator パッケージ名 :example ソースファイル : Calculator.java GUI.java EventProcessor.java 2 4.2 GUI とイベント処理 GUI の構成 :Swing GUI の場合 フレーム JFrame:
人工知能入門
藤田悟 黄潤和 探索とは 探索問題 探索解の性質 探索空間の構造 探索木 探索グラフ 探索順序 深さ優先探索 幅優先探索 探索プログラムの作成 バックトラック 深さ優先探索 幅優先探索 n 個の ueen を n n のマスの中に 縦横斜めに重ならないように配置する 簡単化のために 4-ueen を考える 正解 全状態の探索プログラム 全ての最終状態を生成した後に 最終状態が解であるかどうかを判定する
3 Java 3.1 Hello World! Hello World public class HelloWorld { public static void main(string[] args) { System.out.println("Hello World");
(Basic Theory of Information Processing) Java (eclipse ) Hello World! eclipse Java 1 3 Java 3.1 Hello World! Hello World public class HelloWorld { public static void main(string[] args) { System.out.println("Hello
Java知識テスト問題
Java 知識テスト SDAS プログラマ(Java 編 ) 運営事務局 このテストは J2EE プログラマとしての Java の知識を評価するものです 問題は 30 問, テスト時間は J2EE 知識テストとあわせて 90 分です 問題は全て択一式です 選択肢から 1 つだけ選択してください 資料の閲覧は禁止です テストが終わり次第 答案用紙を提出していただいてかまいません テスト終了後, 本テストの内容を他の方に話さないでください
微分方程式 モデリングとシミュレーション
1 微分方程式モデリングとシミュレーション 2018 年度 2 質点の運動のモデル化 粒子と粒子に働く力 粒子の運動 粒子の位置の時間変化 粒子の位置の変化の割合 速度 速度の変化の割合 加速度 力と加速度の結び付け Newtonの運動方程式 : 微分方程式 解は 時間の関数としての位置 3 Newton の運動方程式 質点の運動は Newton の運動方程式で記述される 加速度は力に比例する 2
アスペクトの相互作用を解消するアスペクトの提案
アスペクトの相互作用を解消する アスペクトの提案 武山文信千葉滋東京工業大学大学院情報理工学研究科数理 計算科学専攻 2009/03/11 武山文信, 千葉滋, アスペクトの相互作用を解消するアスペクトの提案 @PPL2009 in 高山 1/21 アスペクト指向プログラミング (AOP) 横断的関心事をアスペクトとしてモジュール化 オブジェクト指向 (OOP) では上手く分離できない クラス階層に
