2017-11-16 19 views
0
import java.util.Scanner; 
public class ProjectFour { 
    public static void main(String args[]) { 
int[] firstArray = {1,2,3,2,1,6,3,4,5}; 
System.out.println("this is the average of array : "+analyzeNumbers(firstArray)); 
System.out.println("These are the numbers above the average : "+aboveAvg(firstArray)); 
    } 
    //finding the average 
    public static int analyzeNumbers(int[] firstArray){  
    int avg; 
    avg=sumArray(firstArray); 
    avg=avg/firstArray.length; 
    return avg; 
    } 
    //suming the array method 
    public static int sumArray(int[] firstArray){ 
    int sum = 0; 
    for(int x=0;x<firstArray.length;x++){ 
     sum+=firstArray[x]; 
    } 
    return sum; 
} 

**this is where im running into problems im kinda stumpted** 

//これは私の方法です。配列の平均を見つけて平均を上回る数を見つけ出す

public static int aboveAvg(int[] firstArray){ 
    int[] aboveAvg; 
    aboveAvg = new int[0]; 
    int x; 
    for(x=analyzeNumbers(firstArray);x<firstArray.length;x++){ 
     aboveAvg+=firstArray[x]; 
    } 
    return aboveAvg; 
    } 
    } 
+0

平均を計算し、それをパラメータで 'aboveAvg'メソッドに渡して、それ以上の値を返す関数を作成しないのはなぜですか? 'aboveAvg = new int [0];'を設定しているので、配列のサイズは0になります。たとえば、 'aboveAvg = new int [10];'を使用します。 –

答えて

0

forループを使用してください。

int sum = 0; 
    for(int i = 0; i < firstArray; i++) { 
int getSum = firstArray.get(i); 
sum + getSum; 
    } 
int average = sum/firstArray.length; 

int[] aboveAverage; 
for(int c = 0; c < firstArray; c++) { 
if(firstArray.get(c) > average) { 
aboveAverage.add(firstArray.get(c)); 
} 
} 
+0

sum + getSum;コンパイラは "+" –

0

このaboveAvg関数は完全に間違っています。

public static List<Integer> aboveAvg(int[] firstArray){ 
    List<Integer> aboveAvg = new ArrayList<Integer>(); 
    int Avg = analyzeNumbers(firstArray); 
    for(int i = 0; i<firstArray.length; i++) 
    { 
     if(firstArray[i] > Avg) 
     { 
      aboveAvg.add(firstArray[i]); 
     } 
    } 
    return aboveAvg; 
} 
  • ループとそれについてのより多くの例
  • のためにあなたをチェックしてください+ =、2つの値を合計する任意の配列に新しい要素を追加しません。
  • 戻り値を正しく定義する必要があります。
  • 作成アレイにはListを使用できます。これはより柔軟です。
関連する問題