私は答えを探しましたが、以下を機能させようとしてもあまり運がありませんでした。
私は現在、プログラミングの入門クラスを受講しており、次の 2 つの関数 (つまり、値を返すメソッド) を記述する必要がある演習に直面しています。
a) double 値の配列から、最大値と
b) 中央値を返します。
以下は、私が現在行っているコードです。ユーザーが配列の要素数を入力し、値で初期化できるメソッドを作成しました。ただし、最大値を計算する方法を機能させるのに苦労しています。Math.max メソッドを使用するように明示的に指示されました。ただし、コードを実行しようとすると、ユーザーが配列を初期化した後に次のエラー メッセージが表示されます。
"Exception in thread "main" java.lang.Error: Unresolved compilation problem:
The method max(double, double) in the type Math is not applicable for the arguments (double, double[])"
APIで読んだことから、Math.max
double型を処理できます。私はこれを修正する方法について少し無知です。ループを作成する必要があると感じていますが、foreach
ループは同等であるという印象を受けました。
すべての応答は非常に高く評価されます。
package com.gc01.lab2;
import java.util.Scanner;
public class exercise22 {
private static double [] numberInput(){
Scanner input = new Scanner (System.in);
System.out.println("How many numbers are in the array?");
int count = input.nextInt();
double [] array = new double [count];
for (int i = 0; i < count; ++i){
System.out.println("Enter number " + i + ": ");
array [i] = input.nextDouble();
}
return array;
}
private double maximum (double [] array){
double max = 0.0;
for (double value : array){
max = Math.max(0.0, array);
}
return max;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
final exercise22 object = new exercise22 ();
System.out.println("The maximum number inputted is " +
object.maximum(object.numberInput()));
}
}