整数の配列から平均値と中央値を計算して印刷します。ここに私のコードです:戻り値のみ
// I create and populate the int array
public static int[] populateArray(Scanner input) {
int[] array = new int[input.nextInt()];
for (int i = 0; i < array.length; i++) {
array[i] = input.nextInt();
}
return array;
}
// I create a method wich takes as formal paramether an array of int an prints the result of mean from the array
public static void printMean(int[] populatedArray) {
double mean = 0;
for (int aPopulatedArray : populatedArray) {
mean += aPopulatedArray;
}
mean /= populatedArray.length;
System.out.println(mean);
}
// I create a method wich takes as formal paramether an array of int an prints the result of median from the array
public static void printMedian(int[] populatedArray) {
Arrays.sort(populatedArray);
double median;
if (populatedArray.length % 2 != 0) {
median = populatedArray[populatedArray.length/2];
} else {
median = (populatedArray[populatedArray.length/2] + populatedArray[populatedArray.length/2 - 1])/2;
}
System.out.println(median);
}
メインでは、まずpopulateArray()
メソッドを呼び出したいと思います。私の配列に値を設定します。次に、他の2つのメソッド(printMean()
とprintMedian()
)に対して、仮パラメータとして、どうすればpopulateArray()
の配列だけを渡すことができますか?
私はpopulateArray()
メソッドから配列を使用するたびに、これを行うにはしたくない:
int[] array = new int[input.nextInt()];
for (int i = 0; i < array.length; i++) {
array[i] = input.nextInt();
}
が、私は両方の印刷方法でそれらの値を使用して、配列を移入します。
ありがとうございます!
ありがとうございます!私は今理解した! – onealex