2017-10-17 11 views
-4

配列の最小値、最大値、平均値を取得しようとしています。私は正常に最小値と最大値を得ることができましたが、平均的な機能は私にトラブルを与えています。配列をパラメータとして取得して平均を返す

コードのどこが間違っているのかわかりません。

package basics; 

public class Arrays { 

    public static void main(String []args) { 



     int[] numbers; 
     numbers=new int[]{24,29,17, 46, 44, 35, 37, 13, 1}; 

     int max=getMax(numbers); 
     System.out.println(max); 

     int min=getMin(numbers); 
     System.out.println(min); 

     int avg=getAverage(numbers); 
     System.out.println(average); 

     } 


    public static int getMax(int[] inputArray){ 
      int maxValue = inputArray[0]; 
      for(int i=1;i < inputArray.length;i++){ 
       if(inputArray[i] > maxValue){ 
       maxValue = inputArray[i]; 
       } 
      } 
      return maxValue; 
      } 

    public static int getMin(int[] inputArray){ 
      int minValue = inputArray[0]; 
      for(int i=1;i<inputArray.length;i++){ 
       if(inputArray[i] < minValue){ 
       minValue = inputArray[i]; 
       } 
      } 
      return minValue; 

    public static int getAverage(int[] inputArray) { 
      int getAverage = inputArray[0]; 
      int sum=0; 
      for (i = 1; i < inputArray.length; i++) { 
        sum = sum + inputArray[i]; 
       } 
       return sum/inputArray.length; 
      } 

     }  

} 
+0

どのように機能していないのですか?おそらく、あなたはあなたの質問を編集して、期待されたものと実際の行動とを含めることができますか? – azurefrog

+0

あなたの配列の最初の要素について特別なものは何ですか?あなたはそれを平均に含めません。 – azurefrog

+0

@azurefrog私はかつてその小さな間違いをして、それを永久にデバッグするのに費やしました;) – vikarjramun

答えて

2

あなたは、変数suminputArrayの第一項を追加していません。また、小数点の値を取得するには、戻り値の型をdoubleにする必要があります。

sumタイプをdoubleに変更してください。getAverage変数を使用していないので、それを削除してすべての条件にわたってループを繰り返します(inputArray)。

関連する問題