2

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

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

プログラミングA

K227 Java 2

Microsoft PowerPoint ppt

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

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

JavaプログラミングⅠ

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

GEC-Java

PowerPoint プレゼンテーション

メソッドのまとめ

2

JavaプログラミングⅠ

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

プログラミング入門1

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

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

PowerPoint プレゼンテーション

基本情報STEP UP演習Java対策

JavaプログラミングⅠ

2

JavaプログラミングⅠ

2

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

Javaの作成の前に

JavaプログラミングⅠ

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

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

r1.dvi

JavaプログラミングⅠ

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

プログラミング入門1

PowerPoint プレゼンテーション

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

Microsoft PowerPoint - prog09.ppt

Microsoft PowerPoint - prog09.ppt

JavaプログラミングⅠ

JavaプログラミングⅠ

Prog2_12th

JavaプログラミングⅠ

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

JavaプログラミングⅠ


Prog1_6th

Prog2_9th

Prog1_10th

JavaプログラミングⅠ

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

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

Prog1_15th

Java講座

Microsoft PowerPoint - prog03.ppt

HCI プログラミング 8 回目ボタン チェックボックス ラジオボタン 今日の講義で学ぶ内容 ボタンとアクションイベント ボタンのカスタマイズ チェックボックスとラジオボタン ボタンとアクションイベント 1 ボタンを配置してみましょう ボタンは ラベルと同じようにフォントやその色 画像の貼り付けなど

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

デジタル表現論・第6回

プログラミング入門1

2

プログラムの基本構成

プログラミング入門1

Javaプログラムの実行手順

Programming-C-9.key

Javaセキュアコーディングセミナー東京 第2回 数値データの取扱いと入力値の検証 演習解説

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

Microsoft Word - java a.doc

JavaプログラミングⅠ

できるプログラマーを本気で育てる Java 超 Webプログラマーへの第 歩 第 2 回オブジェクト指向 テクノロジックアート 瀬 嘉秀

プログラミング入門1

Prog2_10th

JAVA入門

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

PowerPoint プレゼンテーション

<4D F736F F D2091E F196E291E889F090E C4816A82CC838C E646F6378>

プログラミング入門1

スライド 1

新・明解Java入門

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

Microsoft PowerPoint - chap10_OOP.ppt

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

デジタル表現論・第4回

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

** 平成 16 年度 FE 午後問題 Java** 示現塾プロジェクトマネージャ テクニカルエンジニア ( ネットワーク ) など各種セミナーを開催中!! 開催日 受講料 カリキュラム等 詳しくは 今すぐアクセス!! 平成 16

Make the Future Java FY13 PPT Template

PowerPoint プレゼンテーション

DVIOUT-exer

IE6 2 BMI chapter1 Java 6 chapter2 Java 7 chapter3 for if 8 chapter4 : BMI 9 chapter5 Java GUI 10 chapter6 11 chapter7 BMI 12 chap

ガイダンス

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

マークアップ言語

プログラミング入門1

I java A

Method(C 言語では関数と呼ぶ ) メソッドを使うと 処理を纏めて管理することができる 処理 ( メソッド ) の再実行 ( 再利用 ) が簡単にできる y 元々はC 言語の関数であり 入力値に対する値を 定義するもの 数学では F(x) = 2x + 1 など F(x)=2x+1 入力値 (

情報実習Ⅱ

JavaプログラミングⅠ

やさしいJavaプログラミング -Great Ideas for Java Programming サンプルPDF

8 if switch for while do while 2

12.1 インターネットアドレス インターネットアドレス インターネットアドレス 32 ビットの長さを持つインターネットに接続されたマシンを識別するのに使う インターネットアドレスは ピリオドで区切られたトークンの並びで表現されることもある インターネットアドレス

Java演習(4) -- 変数と型 --

Java 3 p.2 3 Java : boolean Graphics draw3drect fill3drect C int C OK while (1) int boolean switch case C Calendar java.util.calendar A

Assignment_.java 課題 : 転置行列 / class Assignment_ public static void main(string[] args) int i,j; int[][] array = 1,,,,,,,,,,,,,1,1,; 行 列行列 i

Transcription:

プログラミング応用演習 b 10 月 5 日演習課題 2016/10/05 PAb 演習課題 プログラム仕様書作成課題 課題クラスを読み 次に示すクラスの仕様書を完成させよ なお 仕様書は クラス 1 つに付き 1 つ作成す る 加えて 図 1 のようなクラス継承の模式図を作成せよ < クラス名 のプログラム仕様書 > 作成者 : 学籍番号 名前 (1) クラスクラス名 : クラス名 説明 : クラスが何を表現しているか どのように利用されるか スーパークラス : 継承したクラス名 スーパークラスがない場合は なし (2) フィールド変数名 : 変数名 属性: アクセスレベル 変数の種類(static 変数 非 static 変数 ローカル変数 ) 型 フィールドの目的: 何の為に用意されたフィールドなのか どのように利用されているか (3) コンストラクタコンストラクタ名 : コンストラクタ名 引数: 引数名 型 変数の目的 処理内容: 処理の内容を記述 処理が複数の手順に分けられる場合 処理する順に箇条書きで列挙する (4) メソッドメソッド名 : メソッド名 属性: アクセスレベル 変数の種類(static 変数 非 static 変数 ローカル変数 ) 型 戻り値の型: 型 戻り値の内容: 処理した結果 何を return すればよいか 引数: 引数名 型 変数の目的 処理内容: 処理の内容を記述 処理が複数の手順に分けられる場合 処理する順に箇条書きで列挙する オーバーライドの有無: 有 or 無 スーパークラスのメソッドをオーバーライドしたか スーパークラス 継承 継承 サブクラス A サブクラス B 図 1. クラス継承の模式図 1

課題 1. 前回課題 5 のプログラム仕様書を作成せよ 2016/10/05 PAb 演習課題 class MyFamily { private String name; private int age; // コンストラクタの宣言 MyFamily (String name, int age) {?? // 家族の情報を表示するメソッド void display() { System.out.println(? ); public class Prog1005_1{ public static void main (String[] args){ // オブジェクトの生成 コンストラクタの実行 MyFamily father = new MyFamily("hiroshi",50); MyFamily mother = new MyFamily("midori",45); MyFamily brother = new MyFamily("taro",20); // 家族の情報の表示??? /* 実行結果 Name: hiroshi,age: 50 Name: midori,age: 45 Name: taro,age: 20 2

2016/10/05 PAb 演習課題課題 2. 以下は チケットの種別と枚数を入力して購入価格を出力するプログラムである チケットの種別は a または b で表し それぞれの価格は 1000 円 2000 円である なお 各チケットの枚数の制限は 10 枚である チケットの購入価格は getticket メソッドで計算し 枚数を入力して価格を出力する 枚数が不足している場合は-1 を出力する プログラム仕様書を作成せよ import java.io.*; class Ticket{ int numberofa = 10; int numberofb = 10; int valueofa = 1000; int valueofb = 2000; public int getticket(int n){ return 0; class ATicket extends Ticket { public int gettibket (int n){ if(numberofa-n >= 0) { numberofa = numberofa-n ; return valueofa*n ; else { return -1; class BTicket extends Ticket { public int getticket (int n){ if(numberofb-n >= 0) { numberofb = numberofb-n ; return valueofb*n ; else { return -1; 3

public class Prog1005_2{ public static void main(string[] args) throws IOException { BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); System.out.print(" チケット種別 = "); char c = in.readline().charat(0); // チケット種別を入力 System.out.print(" チケット枚数 = "); int n = Integer.parseInt(in.readLine()); // チケット枚数を入力 Ticket t = new Ticket(); switch( c ){ case 'a': t = new ATicket(); break; case 'b': t = new BTicket(); break; default: System.out.println(" チケット種別が間違っています "); break; int v = t.getticket(n); // 購入価格の計算 if(v >= 0) { System.out.println(" 購入価格 ="+v); else { System.out.println(" 在庫枚数が不足しています "); 2016/10/05 PAb 演習課題 /* 実行結果チケット種別 = a チケット枚数 = 10 購入価格 =10000 4

2016/10/05 PAb 演習課題課題 3. 以下は インタフェイスとして ライオン (Lion) コウモリ(Bat) 蛇 (Snake) を持つキメラ (Chimera) のクラスである プログラム仕様書を作成せよ interface Lion{ String body =" らいおん "; void breath(); interface Bat{ String wing=" こうもりの翼 "; void fly(); interface Snake(){ String tail=" 蛇の頭 "; class Chimera implements Lion, Bat, Snake { public void breath(){ System.out.println(body + " は 炎をはいた "); public void fly(){ System.out.println(wing + " で空をとんだ "); public void poison(){ System.out.println(tail + " かみついた "); System.out.println(" どくにおかされた "); public class Prog1005_3{ public static void main(string[] args){ Chimera chime1 = new Chimera(); System.out.println(" キメラが現れた "); chime1.breath(); chime1.fly(); chime1.poison(); 5

2016/10/05 PAb 演習課題課題 4. 課題 3 の Chimera クラスと以下のコメント文を参考に プログラムを完成させ 仕様書を作成せよ // インタフェイス Human // 変数は body は姿, skill は技で どちらも String 型 // 能力発揮 の抽象メソッド名 = ability : 引数無し 戻り値無し *********** { ******* =" 人間 "; // 姿の名前 ******* =" 瞬間移動 "; // 技の名前 ******* ; // 能力発揮 の抽象メソッド // インタフェイス Dragon // 変数は power で文字列 // 変身 の抽象メソッド名 = shapechange : 引数無し 戻り値無し // 攻撃 の抽象メソッド名 = attack : 引数無し 戻り値無し *********** { ******* =" 竜の力 "; ******* // 変身 の抽象メソッド ******* // 攻撃 の抽象メソッド // Human, Dragon の実装クラス DragonMan class DragonMan ************ { ******* { // 能力発揮 の実メソッド System.out.println(body + " の姿で " + skill +" した "); ******* { // 変身 の実メソッド System.out.println(" 竜に変身した "); ******* { // 攻撃 の実メソッド System.out.println(power + " で攻撃した "); public class Prog1005_4{ public static void main(string[] args){ DragonMan dm = new DragonMan(); System.out.println(" 竜人が現れた "); dm.ability(); dm.shapechange(); dm.attack(); /* 実行結果 $java Prog1008_4 竜人が現れた人間の姿で瞬間移動した竜に変身した竜の力で攻撃した 6

2016/10/05 PAb 演習課題課題 5. 以下は 2014 年 10 月のカレンダーを作成するプログラムである java.util.calendar クラスについて調べ, コメントの (****1****)~(****5****) を埋めよ コメントを付加した上で動作を確認し そのファイルを提出せよ import java.lang.string; import java.lang.system; import java.util.calendar; import static java.util.calendar.*; public class MondayCalendar { public static void main(string[] A00) { Calendar cal = Calendar.getInstance(); // (****1****) int year = cal.get(year); // (****2****) int month = cal.get(month); // (****3****) cal.set(year, month, 1); // (****4****) int day = cal.getactualmaximum(day_of_month); // (****5****) int dweek = cal.get(day_of_week); System.out.printf("%d 年 %2d 月のカレンダー %n", year, month + 1); System.out.println(" 月火水木金土日 "); // 空白の個数を求める int i; if (dweek < MONDAY) { i = (dweek + 7) - MONDAY; else { i = dweek - MONDAY; int k = 0; for (int j = 0; j < i; j++) { System.out.print(" "); k++; for (int j = 1; j <= day; j++) { if (i < 6) { System.out.printf("%2d ", j); else { System.out.printf("%2d\n", j); i = ++i % 7; /* 実行結果 C:\JAVA>java MondayCalendar 2014 年 10 月のカレンダー月火水木金土日 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 7