基本情報STEP UP演習Java対策

Similar documents
JAVA入門

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

JavaプログラミングⅠ

JavaプログラミングⅠ

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

Javaの作成の前に

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

JavaプログラミングⅠ

Microsoft PowerPoint - chap10_OOP.ppt

JavaプログラミングⅠ

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

JavaプログラミングⅠ

2

Javaプログラムの実行手順

解答上の注意 1 解答は 解答 紙の問題番号に対応した解答欄にマークしなさい 2 選択肢は 問ごとに 意されています 問 1の選択肢は 問 2で使 しません 3 選択肢は量が多いため 探しやすさの観点よりグループ分けされています グループ分けに合わせて解答欄が区切られていますが 横 1 列で問題 1

JavaプログラミングⅠ

PowerPoint プレゼンテーション

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

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

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

Prog2_9th

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

226

Java言語 第1回

<4D F736F F D2091E F196E291E889F090E C4816A82CC838C E646F6378>

メソッドのまとめ

JavaプログラミングⅠ

文字列操作と正規表現

ガイダンス

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

JavaプログラミングⅠ

PowerPoint Presentation

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

Java講座

JavaプログラミングⅠ

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

模擬試験問題(第1章~第3章)

情報実習Ⅱ

プログラミング入門1

Microsoft Word - keisankigairon.ch doc

2

第 2 章インタフェース定義言語 (IDL) IDL とは 言語や OS に依存しないインタフェース定義を行うためのインタフェース定義言語です CORBA アプリケーションを作成する場合は インタフェースを定義した IDL ファイルを作成する必要があります ここでは IDL の文法や IDL ファイ

Week 1 理解度確認クイズ解答 解説 問題 1 (4 2 点 =8 点 ) 以下の各問いに答えよ 問題 bit 版の Windows8.1 に Java をインストールする時 必要なパッケージはどれか 但し Java のコンパイルができる環境をインストールするものとする 1. jdk

10K pdf

2

Javaプログラマー早期育成ドリル ~コードリーディング編~ 解答

Transcription:

トレーニング編 1. 予約語 extends アクセスレベル class サブクラス名 extends スーパクラス名 { (1) スーパクラス ( 既存のクラス ) を拡張して, サブクラス ( 新しいクラス ) を定義する場合に extends を利用する (2) extends の後ろには, スーパクラスの名前を一つだけ指定できる (3) サブクラスからインスタンスを生成すると, スーパクラスに定義されたインスタンス変数やメソッドがこのインスタンス内部に引き継がれる ( 継承 ) 2. 予約語 super (1) サブクラスの コンストラクタの処理内容 や メソッドの処理内容 を記述する場合にsuperを利用できる (2) super() や super.~ と記述して, サブクラスからスーパクラスに定義されたコンストラクタやメソッドを呼び出すことができる <superの利用例 > // 図形クラス ( スーパクラス ) class Figure { private String name; // 図形の名前 public Figure(String n) { name = n; System.out.println(" 図形 :" + name); // 正方形クラス ( サブクラス ) class Square extends Figure { private double length; // 一辺の長さ public Square(String n, double len) { super(n); length = len; super.display(); System.out.println(" 一辺の長さ :" + length); スーパクラスのコンストラクタを呼び出す スーパクラスの display メソッドを呼び出す 4

1 継承 3. 予約語 this (1) クラスの コンストラクタの処理内容 や メソッドの処理内容 を記述する場合にthisを利用できる (2) this() や this.~ と記述して, 同じクラスに定義されたコンストラクタを呼び出したり, インスタンス変数を指定することができる <thisの利用例 > // 図形クラス ( スーパクラス ) class Figure { private String name; // 図形の名前 public Figure() { this(" 名無し "); public Figure(String name) { this.name = name; System.out.println(" 図形 :" + name); // 正方形クラス ( サブクラス ) class Square extends Figure { private double length; // 一辺の長さ public Square(String name, double length) { super(name); this.length = length; super.display(); System.out.println(" 一辺の長さ :" + length); 同じクラスのコンストラクタを呼び出す インスタンス変数 name を指定する インスタンス変数 length を指定する ミスしやすい Java 文法 super() サブクラスのコンストラクタにおいて,super() を処理内容の先頭行に記述しなければならない また,super() によって呼び出されるコンストラクタがスーパクラスに定義されていなければならない this() コンストラクタにおいて,this() を処理内容の先頭行に記述しなければならない また,this() によって呼び出されるコンストラクタが同じクラスに定義されていなければならない 5

トレーニング編 問 1-1 次のJavaプログラムの説明及びプログラムを読んで, プログラム中のる正しい答えを, 解答群の中から選べ に入れ プログラムの説明 あるアプリケーションのプロセス管理機能のプログラムである (1) 抽象クラス BasicProcess は, 基本的な処理を表す フィールド process は処理名を保持する 1 コンストラクタは, 引数で与えられた処理名をフィールド process に保持する 2 メソッド getprocess は, 処理名を返す 3 抽象メソッド execute は, 処理名を表示する (2) クラス LoginProcess は, 抽象クラス BasicProcess を拡張するクラスであり, ログイン処理を表す 1 コンストラクタは, 引数で与えられた処理名をフィールド process に保持する 2 メソッド execute は, 処理名を表示する (3) クラス LoginProcessTester はテスト用のプログラムである 実行結果を図 1 に示す < ログイン処理実行 > 図 1 実行結果 プログラム 1 public abstract class BasicProcess { private String process; public BasicProcess(String process) { this.process = process; public String getprocess() { return process; public abstract void execute(); 6

1 継承 プログラム 2 public class LoginProcess a BasicProcess { public LoginProcess(String process) { b ; public void execute() { System.out.println("<" + getprocess() + " 処理実行 >"); プログラム 3 public class LoginProcessTester { public static void main(string[] args) { LoginProcess process = new LoginProcess(" ログイン "); process.execute(); aに関する解答群ア abstract ウ implements bに関する解答群ア super() ウ this() イ extends エ throws イ super(process) エ this(process) 抽象クラス 抽象クラスには, インスタンス変数,static 変数, 定数, コンストラクタ, ( 具象 ) メソッド, 抽象メソッドを定義することができる 抽象クラスを定義する場合は, クラスに abstract を記述する 抽象メソッドを定義する場合, メソッドに abstract を記述する フィールド インスタンス変数,static 変数, 定数をフィールドやメンバ変数と呼ぶ 7

トレーニング編 問 1-2 次のJavaプログラムの説明及びプログラムを読んで, プログラム中のる正しい答えを, 解答群の中から選べ に入れ プログラムの説明 ある企業の部署管理システムのプログラムである (1) クラス Department は, 部署情報を表す フィールド deptno は部署番号, フィールド deptname は部署名を保持する 1 引数を取らないコンストラクタは, 引数を取るコンストラクタを利用して部署番号 0 と部署名 未設定 をフィールドに保持する 2 引数を取るコンストラクタは, 引数で与えられた部署番号と部署名をフィールドに保持する 3 メソッド display は, 部署情報を表示する (2) クラス Accounting は, 経理部情報を表す フィールド cost は経費を保持する 1 コンストラクタは, 引数で与えられた部署番号, 部署名, 経費をフィールドに保持する 2 メソッド setcost は, 引数で与えられた経費をフィールドに保持する 3 メソッド display は, 経理部情報を表示する (3) クラス Personnel は, 人事部情報を表す フィールド number は社員数を保持する 1 コンストラクタは, 引数で与えられた部署番号, 部署名, 社員数をフィールドに保持する 2 メソッド setnumber は, 引数で与えられた社員数をフィールドに保持する 3 メソッド display は, 人事部情報を表示する (4) クラス DepartmentTester はテスト用のプログラムである 実行結果を図 1 に示す < 部署情報 > 部署番号 : 301 部署名 : 経理部経費 : 0 部署番号 : 201 部署名 : 人事部社員数 : 50 < 部署情報変更 > 部署番号 : 301 部署名 : 経理部経費 : 1,000,000 部署番号 : 201 部署名 : 人事部社員数 : 70 8 図 1 実行結果

1 継承 プログラム 1 public class Department { private int deptno; private String deptname; public Department() { a ; public Department(int deptno, String deptname) { this.deptno = deptno; this.deptname = deptname; System.out.printf(" 部署番号 : %s%n", deptno); System.out.printf(" 部署名 : %s%n", deptname); プログラム 2 public class Accounting extends Department { private int cost; public Accounting(int deptno, String deptname, int cost) { super(deptno, deptname); this.cost = cost; public void setcost(int cost) { this.cost = cost; b ; System.out.printf(" 経費 : %,d%n", cost); 9

トレーニング編 プログラム 3 public class Personnel extends Department { private int number; public Personnel(int deptno, String deptname, int number) { super(deptno, deptname); this.number = number; public void setnumber(int number) { this.number = number; b ; // 網掛け部分には適切なコードが記載されている System.out.printf(" 社員数 : %d%n", number); プログラム 4 public class DepartmentTester { public static void main(string[] args) { System.out.println("< 部署情報 >"); Accounting dept1 = new Accounting(301, " 経理部 ", 0); Personnel dept2 = new Personnel(201, " 人事部 ", 50); dept1.display(); dept2.display(); System.out.println("< 部署情報変更 >"); dept1. c ; dept2. d ; dept1.display(); dept2.display(); a に関する解答群ア super() イ super(0, " 未設定 ") ウ this() エ this(0, " 未設定 ") 10

1 継承 b に関する解答群ア display() イ super() ウ super(deptno, deptname) エ super.display() c に関する解答群ア Accounting(301, " 経理部 ", 1000000) イ display() ウ setcost(1000000) エ setnumber(1000000) d に関する解答群ア display() イ Personnel(201, " 人事部 ", 70) ウ setcost(70) エ setnumber(70) System.out.printf メソッド System.out.printf メソッドは,( ) 内に指定された書式指定にしたがって値を表示する < 利用例 > String item = " 基本情報 STEP UP 演習 Java 対策 "; int price = 1300; System.out.printf(" 商品名 : %s 税込価格 : %,d 円 %n", item, price); 値を埋め込んで表示する 書式指定には, 次の要素とエスケープシーケンスを指定することができる < 基本要素 > < 追加要素 > <エスケープシーケンス> %d 整数, 3 桁区切り \n 改行コード %f 実数. 小数点 \t タブ記号のコード %c 文字 - 左揃え \\ 記号のコード %b 真偽値 + + 記号印字 \' ' 記号のコード %s 文字列 0 上位桁 0 印字 \" " 記号のコード % % 記号印字 n 改行 11