練習問題

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)を作成する。
 ・配列とその最大値を表示させる。

NEXT>> 10.8 練習問題 解答