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
[java] static double averageOfArray(int[] array) {
double sum = 0.0;
for (int element : array) {
sum += element;
}
double average = sum / array.length;
return average;
}
[/java]

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

間違い例

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

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

[java]double average = sum / array.length;[/java]

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


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

はじめてのJAVA 連載

一覧へ戻る

Recent News

Recent Tips

Tag Search