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

Similar documents
JavaプログラミングⅠ

Javaプログラムの実行手順

Microsoft PowerPoint ppt

PowerPoint プレゼンテーション

JavaプログラミングⅠ

JavaプログラミングⅠ

JAVA入門

JavaプログラミングⅠ

スライド 1

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

DVIOUT-exer

Prog1_6th

デジタル表現論・第4回

JavaプログラミングⅠ

Microsoft PowerPoint - prog03.ppt

PowerPoint プレゼンテーション

Microsoft PowerPoint - chap10_OOP.ppt

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

Java講座

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

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

Microsoft PowerPoint - prog08.ppt

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

Microsoft PowerPoint - prog04.ppt

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

ガイダンス

ToDo: 今回のタイトル

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

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

スライド 1

Prog1_10th

Microsoft PowerPoint - lec06 [互換モード]

プログラミング入門1

プログラミング入門1

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

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

基本情報STEP UP演習Java対策

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

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

Microsoft PowerPoint - prog09.ppt

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

Microsoft PowerPoint - prog09.ppt

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

Microsoft PowerPoint - prog08.ppt

Assignment_.java 0 Assignment_.java 課題 : 台形の面積 / class Assignment_ public static void main(string[] args) throws IOException キーボード準備 int top, bottom,

Microsoft PowerPoint - ruby_instruction.ppt

メソッドのまとめ

GEC-Java

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

Javaの作成の前に

IT プロジェクト

2004/11/23 オブジェクト指向プログラミング - モデル図とシーケンス図の表現方法 - オブジェクト指向プログラミング (OOP:ObjectOrientedPrograming) オブジェクト指向プログラミング言語 (OOPL) Java,C++,Delphi(Pascal),Visual

基礎計算機演習 実習課題No6

デジタル表現論・第6回

Prog2_9th

試験問題に記載されている会社名又は製品名は, それぞれ各社の商標又は登録商標です なお, 試験問題では, 及び TM を明記していません

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

Java学習教材

Prog1_3rd

プログラムの基本構成

第1章 ビジュアルプログラミング入門

2

文字列操作と正規表現

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

Java知識テスト問題

情報実習Ⅱ

2

K227 Java 2

プログラミング入門1

Microsoft PowerPoint ppt

プログラミング入門1

JavaプログラミングⅠ

Java言語 第1回

Microsoft PowerPoint - C言語の復習(配布用).ppt [互換モード]

2

2

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

情報システム設計論II ユーザインタフェース(1)

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

C#の基本2 ~プログラムの制御構造~

プログラミング入門1

Prog1_15th

02: 変数と標準入出力

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

メソッドのまとめ

ゲームエンジンの構成要素

2

<4D F736F F D2091E F196E291E889F090E C4816A82CC838C E646F6378>

System.out.println("char : " + (int)character.min_value + "~" + (int)character.max_value); System.out.println("float : " + Float.MIN_VALUE + "~" + Flo

02: 変数と標準入出力

人工知能入門

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

プログラミング入門1

JavaプログラミングⅠ

PowerPoint プレゼンテーション

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

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

ガイダンス

プログラミング入門1

Microsoft Word - NonGenTree.doc

Transcription:

Java 基礎問題ドリル ~ メソッドを理解する ~ 次のプログラムコードに 各設問の条件にあうメソッドを追加しなさい その後 そのメソッドが正しく動作することを検証するためのプログラムコードを main メソッドの中に追加しなさい public class Practice { // ここに各設問のメソッドを追加する public static void main(string[] args) { // ここに 追加したメソッドの動作検証を行うプログラムコードを追加する 例題メソッド名 : gettrianglearea 1 つめの引数 : height 1 つめの引数の型 :double 2 つめの引数 : base 2 つめの引数の型 :double 戻り値の型 : double 底辺の長さが base 高さが height で表される三角形の面積を返す 解答例 public class Practice { // ( 例題 ) static double gettrianglearea(double height, double base) { return height * base / 2.0; public static void main(string[] args) { // ( 例題 ) のメソッドの動作検証 double trianglearea = gettrianglearea(8.2, 4.0); System.out.println(" 三角形の面積は " + trianglearea); 1

引数無し 戻り値なし問題 1 メソッド名 : printhello 引数 : なし戻り値 : なし "Hello" という文字を出力するヒント : メソッドの定義は次のようになる static void printhello() { // 処理の内容 問題 2 メソッド名 : printpi 引数 : なし戻り値 : なし 円周率 (3.14159...) の値を出力するヒント : 円周率の値は Math クラスのクラス変数 PI に格納されている System.out.println(Math.PI); で この値を出力できる 問題 3 メソッド名 : printrandommessage 引数 : なし戻り値 : なし " こんばんは ", " こんにちは ", " おはよう " の 3 つのあいさつからランダムに 1 つを表示する ヒント : 次のように記述すると 変数 n には 0, 1, 2 のいずれかの値がランダムに代入される int n = (int)(3 * Math.random()); 2

引数が 1 つ 戻り値なし問題 4 メソッド名 : printmessage 引数 : message 引数の型 :String 戻り値 : なし 引数で渡されたメッセージを出力するヒント : メソッドの宣言は次のようになる static void printmessage(string message) { // 処理の内容 printmessage("hello"); とすると "Hello" という文字が出力される 問題 5 メソッド名 : printcirclearea 引数 : radius 引数の型 :double 戻り値 : なし 引数で渡された値を半径とする円の面積を出力するヒント : 円の面積は半径 半径 円周率 printcirclearea(2.0); とすると 半径が 2.0 の円の面積が出力される 問題 6 メソッド名 : printrandommessage 引数 : name 引数の型 :String 戻り値 : なし " こんばんは xx さん ", " こんにちは xx さん ", " おはよう xx さん " の 3 つのあいさつからランダムに 1 つを表示する あいさつ文の xx のところには 引数で渡された name の文字が入るヒント : 同じ名前で引数の異なるメソッドが存在することをオーバーロードという 3

引数が複数 戻り値なし問題 7 メソッド名 : printmessage 1 つめの引数 : message 1 つめの引数の型 :String 2 つめの引数 : count 2 つめの引数の型 :int 戻り値 : なし 文字列 message を count の回数だけ繰り返し出力するヒント : printmessage("hello", 5); とすると "Hello" という文字が 5 回出力される 問題 8 メソッド名 : printrectanglearea 1 つめの引数 : height 1 つめの引数の型 :double 2 つめの引数 : width 2 つめの引数の型 :double 戻り値 : なし 高さが height, 横幅が width の長方形の面積を出力する 問題 9 メソッド名 : printmaxvalue 1 つめの引数 : a 1 つめの引数の型 :double 2 つめの引数 : b 2 つめの引数の型 :double 3 つめの引数 : c 3 つめの引数の型 :double 戻り値 : なし 引数で渡された a, b, c の値のうち もっとも大きな値を出力する 4

引数なし 戻り値あり問題 10 メソッド名 : getmessage 引数 : なし戻り値の型 : String " よろしくおねがいします " という文字列を返す 問題 11 メソッド名 : getweatherforecast 引数 : なし戻り値の型 : String 天気予報メッセージをランダムに生成して そのメッセージを返す 天気予報メッセージは 次の中からランダムに組み合わせて作り出すものとする { 今日 明日 明後日 の天気は { 晴れ 曇り 雨 雪 でしょう 例 : 明日の天気は雨でしょう 問題 12 メソッド名 : getsquarerootof2 引数 : なし戻り値の型 : double 2 の平方根 ( 2) を返すヒント :Math クラスの sqrt メソッドで平方根を求めることができる double d = Math.sqrt(3.0); で 3 の平方根が変数 d に代入される 5

引数が 1 つ 戻り値あり問題 13 メソッド名 : getrandommessage 引数 :name 引数の型 :String 戻り値の型 : String " こんばんは xx さん ", " こんにちは xx さん ", " おはよう xx さん " の 3 つのあいさつからランダムに選んだ 1 つを戻り値とする あいさつ文の xx のところには 引数で渡された name の文字が入る 問題 14 メソッド名 : getabsolutevalue 引数 :value 引数の型 :double 戻り値の型 : double 引数で渡された value の値の絶対値を返す ヒント : 5.2 の絶対値は 5.2-3.6 の絶対値は 3.6 問題 15 メソッド名 : isevennumber 引数 :value 引数の型 :int 戻り値の型 : boolean 引数で渡された値が偶数の場合は true そうでない場合は false を返す ヒント : 偶数は 2 で割った余りがゼロ 6

引数が複数 戻り値あり問題 16 メソッド名 : getminvalue 1 つめの引数 : a 1 つめの引数の型 :double 2 つめの引数 : b 2 つめの引数の型 :double 戻り値の型 :double 引数で受け取る 2 の値のうち 小さい方の値を返す 問題 17 メソッド名 : issameabsolutevalue 1 つめの引数 : i 1 つめの引数の型 :int 2 つめの引数 : j 2 つめの引数の型 :int 戻り値の型 :boolean 引数で受け取る 2 の値の絶対値が等しければ true, そうでなければ false を返す 問題 18 メソッド名 : getmessage 1 つめの引数 : name 1 つめの引数の型 :String 2 つめの引数 : iskid 2 つめの引数の型 :boolean 戻り値の型 :String iskid の値が true なら " こんにちは xx ちゃん " iskid の値が false なら " こんにちは xx さん " という文字列を返す ただし xx には name の値が入る 7

引数が配列問題 19 メソッド名 : getminvalue 引数 : array 引数の型 :int 型の配列戻り値の型 :int 引数で受け取る配列の要素のうち 最も小さい値を返す 問題 20 メソッド名 : getaverage 引数 : array 引数の型 :double 型の配列戻り値の型 :double 引数で受け取る配列の要素の平均値を返す 問題 21 メソッド名 : getlongeststring 引数 : array 引数の型 :String 型の配列戻り値の型 :String 引数で受け取る配列の要素のうち 最も文字数の大きい文字列を返す 文字数が同じものが複数存在する場合は 配列の後ろの方の要素を優先するヒント : 次のように記述すると 変数 l に文字列 str の長さが代入される int l = str.length(); 8

引数がクラスの参照 (Point クラスを用いる例 ) 以降の設問に取り組む前に 次のような Point クラスをプログラムコードに追加しなさい class Point { double x; double y; Point(double x, double y) { this.x = x; this.y = y; 問題 22 メソッド名 : getdistancefromorigin 引数 : p 引数の型 :Point クラスの参照戻り値の型 :double 引数で受け取る Point オブジェクトの 原点からの距離を返すヒント : 点 (x, y) の原点からの距離は Math.sqrt(x*x+y*y) で求まる 問題 23 メソッド名 : getdistancebetweentwopoints 1 つめの引数 : p0 1 つめの引数の型 :Point クラスの参照 2 つめの引数 : p1 2 つめの引数の型 :Point クラスの参照戻り値の型 :double 引数で受け取る 2 つの Point オブジェクト間の距離を返すヒント : 点 (x0, y0) と点 (x1, y1) の距離は Math.sqrt( (x0 - x1)*(x0 - x1)+(y0 - y1)*(y0 - y1)) で求まる 問題 24 メソッド名 : getbarycenter 引数 : points 引数の型 :Point クラスの参照の配列 (Point オブジェクトの配列 ) 戻り値の型 :Point クラスの参照 引数で受け取る Point オブジェクト群の重心座標 9

ヒント : 複数の点の重心の x,y 座標は それぞれすべての点の x 座標の平均と y 座標の平均で表される メソッドの中で 新しい Point クラスのインスタンスを生成する 発展課題 getdistancefromorigin を Math.sqrt を 使 わ ず に getdistancebetweentwopoints メソッドを使うように書き換えなさい 10

引数がクラスの参照 (Person クラスを用いる例 ) 以降の設問に取り組む前に 次のような Person クラスをプログラムコードに追加しなさい class Person { private String name; private int age; Person(String name, int age) { this.name = name; this.age = age; String getname() { return name; int getage() { return age; 問題 25 メソッド名 : printmessage 引数 : person 引数の型 :Person クラスの参照戻り値 : なし " こんにちは xx さん " というメッセージを出力する xx には引数で渡された Person オブジェクトの名前 (name) を入れる ヒント :Person クラスのインスタンス変数 name は private 修飾子が付いているので 直接参照できない getname メソッドを用いて取得する 問題 26 メソッド名 : isadult 引数 : person 引数の型 :Person クラスの参照戻り値 :boolean 11

引数で渡された Person オブジェクトの年齢 (age) の値が 20 以上なら true, そうで ないなら false を返す 問題 27 メソッド名 : getyoungestperson 引数 : persons 引数の型 :Person クラスの参照の配列 (Person オブジェクトの配列 ) 戻り値 :Person クラスの参照 配列に含まれる Person オブジェクトの中で 最も年齢の小さなオブジェクトの参照を返す 同じ年齢の Person オブジェクトがある場合には 配列の後ろの方を優先する 12

Person クラスへのメソッドの追加 Person クラスに 次のメソッドを追加しなさい 問題 28 メソッド名 : setname 引数 : name 引数の型 :String 戻り値 : なし インスタンス変数 name の値を引数の文字列に設定する 問題 29 メソッド名 : setage 引数 : age 引数の型 :int 戻り値 : なし インスタンス変数 age の値を引数の値に設定する ただし引数の値がマイナスの値の場合は何もしない 問題 30 メソッド名 : issameage 引数 : person 引数の型 :Person 戻り値 :boolean 引数で渡された Person オブジェクトの年齢と 自分自身の年齢が同じであれば true そうでなければ false を返す 13