練習問題
10.7 練習問題
本章で習った内容を元に練習問題を解いて下さい。
なお、練習問題のソースコードを作成する場合は、以下の条件で作成して下さい。
ソース・フォルダー :myproj_intro/src
パッケージ :jp.co.f1.intro.ch10exercise
問1 次の設問①~⑤について○か×で答えなさい。
設問
① メソッドはmainメソッド以外も定義できる。
② メソッドは定義されていれば自由に呼び出して使用できる。
③ メソッドに渡される引数は、数が合っていれば型はどれでもよい。
④ メソッドから呼び出し元に返される戻り値は、任意の型を返すことは出来ない。
⑤ メソッドを定義する場合、引数と戻り値は必須である。
問2 次の①~④のメソッドについてメソッド名、戻り値と引数の型をそれぞれ答えなさい。
メソッド一覧
① static int squareNum(int num){
return num*num;
}
② static void printStr1(String str){
System.out.println(str);
}
③ static String returnTitle(){
String title=”メソッド練習問題2″;
return title;
}
④ static void printStr2(){
System.out.println(“文字列を表示します。”);
}
問3 次の仕様を持つメソッドを定義しなさい。
メソッド仕様
メソッド名: triangle
戻り値: double型area
引数: int型base, int型 height
処理内容:
底辺と高さの値を引数で受けとり、三角形の面積の値を返す。
問4 次の仕様を持つメソッドを定義しなさい。
メソッド仕様
メソッド名: calcSum
戻り値: int型sum
引数: int型num
処理内容:
1~引数の数値だけループ処理を行い、そのループのカウンタ値の合計を求めて呼び出し元へその合計値を返す。
※繰り返しはfor文を使用すること。
問5 次のソースコードPractice1001.javaを実行した場合の①~⑤の設問について答えなさい。
設問
① evaluateメソッドの戻り値と引数の型は何か。
② 呼び出し元のevaluateメソッドに設定された実引数の値はいくつか。
③ evaluateメソッドの仮引数の変数numに代入される値はいくつか。
④ evaluateメソッド内の戻り値に設定される変数evaの値はいくつか。
⑤ メインメソッドの変数evaに代入される値はいくつか。
➢ Practice1001.java
package jp.co.f1.intro.ch10exercise; public class Practice1001{ /* * 1~5の評価をA~Eの評価に変換するメソッド */ static char evaluate(int num){ char eva; switch(num){ case 1: eva = 'E'; break; case 2: eva = 'D'; break; case 3: eva = 'C'; break; case 4: eva = 'B'; break; case 5: eva = 'A'; break; default: eva = 'Z'; break; } return eva; } public static void main(String[]args){ char eva = evaluate(5); System.out.println("評価は"+eva+"判定です。"); } }
問6 次に示すソースコードの①と②の部分をメソッド化してPractice1002.javaを作成しなさい。
ソースコード:メソッド未使用
➢ Sample.java
ソースコード:メソッド使用
➢ Practice1002.java
問7 次の実行結果になるソースコードPractice1003.javaを作成仕様に基づき作成しなさい。
実行結果
作成仕様
①Practice1003.java内には以下の3つのメソッドを作成します。
・mainメソッド:プログラムを実行するメソッド
・dispLineメソッド:キーボード入力からの数値を受け取り、数値分だけループ処理を行います。
戻り値:なし 引数:int型 num
・outSignメソッド:画面に「*」を出力します。
戻り値:なし 引数:なし
②mainメソッド詳細
・Scannerクラスを利用してキーボードから数値の入力を行います。
・キーボードからの入力数値を引数にdispLineメソッドを呼び出す。
③dispLineメソッド詳細
・繰り返し処理を2重に利用して引数の数値分だけ繰り返し処理を行います。
・内側のループ処理内でoutSignメソッドを呼び出します。
・内側のループ処理が終ったら改行を行います。
④outSignメソッド詳細
・画面に「*」記号を出力します。
※画面結果は「*と半角スペース」を出力しています。
問8 次の実行結果になるソースコードPractice1004.javaを作成仕様に基づき作成しなさい。
実行結果
作成仕様
・クラス名は Practice1004とする。
・4つの数字(1, 3, 5, 7)を配列に初期化する。
・配列の中身(データ)を逆順に処理して、返すreverseメソッドを作成する。
・printlnメソッドで、元々の配列と、逆順にした配列を表示させる。
問9 次の実行結果になるソースコードPractice1005.javaを作成仕様に基づき作成しなさい。
実行結果
作成仕様
・クラス名: Practice1005とする。
・ランダムな10個のdouble型の値を作成し、配列に格納する。
・ランダムな数値の生成は、Java APIのMathクラスのrandom()メソッドを利用する。
・その10個のデータを持つ配列から最大値を探すメソッド(searchMaximum)を作成する。
・配列とその最大値を表示させる。