最大10個の配列の平均を計算するプログラムを作成する必要があります。ユーザ 2.Calculate結果ユーザー入力からの配列による平均の計算
最初にユーザ 3.Printによって入力された数値の平均値が入力した番号し1.Get :
プログラムはにメソッドを使用して:ここに要求されメソッドは引数を取らず、ユーザーが入力したdouble型の配列を返します。
2番目のメソッドは、唯一の引数として倍精度の配列(上記の最初のメソッドの戻り値)をとり、2倍(平均)を返す必要があります。
3番目のメソッドは、引数として倍精度の配列と(単一の)double値の配列をとる必要がありますが、戻り値はありません。
私は以下のことを試しましたが、私が実行している最大の問題は、プログラムがユーザーの入力を許可する前に両方のステートメントを出力していることです。私はこれを普通にやる方法を知っていますが、私は配列の部分のために混乱していると思います。どうもありがとう。あなたは数字を求めされることはありません
public static void main(String[] args) {
double[] userNumbers = printUserNums();
double average = getAverage(userNumbers);
printAverage(average, userNumbers);
}
public static double[] printUserNums() {
Scanner in = new Scanner(System.in);
System.out.print("Please enter five to ten numbers separated by spaces: ");
double[] userNums = new double[10];
return userNums;
}
public static double getAverage(double[] userNums) {
Scanner in = new Scanner(System.in);
int counter = 0;
double average = 0.0;
double sum = 0;
for (int i = 0; i < userNums.length; i++) {
sum = sum + userNums[i];
}
if (counter != 0) {
average = sum/userNums.length;
}
return average;
}
public static void printAverage(double average, double[] userNums) {
System.out.printf("The average of the numbers " + userNums + " is %.2f", average);
}
}
なぜ、printUserNums()で空の配列を作成して返していますか?あなたはユーザー入力でも読んでいません。 – Logan
なぜメソッドの最初の行が必要ですか: 'getAverage()'? – alfasin
メソッドprintUserNums()の配列は決して初期化されません。 scannerの値を配列に代入する必要があります。参照してください - https://stackoverflow.com/questions/2795350/how-to-put-a-scanner-input-into-an-array-for-example-a-couple-of-numbers – Amit