Tips

【Java】プログラム作成練習問題27

【Java】プログラム作成練習問題27

プログラム作成練習問題27回となります。

※この出題形式に関しては答えは1つではありません。
解答例はできるだけ複数載せるつもりですが、問題文の要件を満たしていれば正解として下さい。

問題

int型の配列を渡すと、平均値を返すaverageOfArrayメソッドを作成せよ

public class Exercise_027 {
	public static void main(String[] args) {
		int[] nums = { 1, 2, 3, 4 };

		System.out.println(averageOfArray(nums)); // 2.5と表示
	}

	// averageOfArrayを作成
}
解答例1
static double averageOfArray(int[] array) {
	double sum = 0.0;
		for (int element : array) {
		sum += element;
	}
	double average = sum / array.length;
	return average;
}

解答例2
static double averageOfArray(int[] array) {
	int sum = 0;
	for (int element : array) {
		sum += element;
	}
	double average = (double) sum / array.length;
	return average;
}

間違い例

static double averageOfArray(int[] array) {
	int sum = 0;
	for (int element : array) {
		sum += element;
	}
	double average = sum / array.length;
	return average;
}

この場合2.0と表示されてしまいます。
問題は以下の行です。

double average = sum / array.length;

この場合、右辺が2になり、それをdouble型にしますので2.0になってしまいます。
2.5にしたいなら、右辺が計算される段階でdoubleにしなければいけません。


新連載はじまりました!新Java基礎 連載リンク

はじめてのJAVA 連載

一覧へ戻る

Recent News

Recent Tips

Tag Search