2017-03-23 33 views
0

我想計算無限平均的平均值,但我在for循環中出錯。 這個代碼必須把paameteres的Sumation公司的總可變進出的for循環它計算平均(總/數字)在java中獲得for循環體的錯誤

public static void main(String[] args) { 
    System.out.println(average(1, 5, 6, 87, 7)); 
} 

public static int average(int... numbers) { 
    int total = 0; 
    for (int i = 0; i < numbers.length; i++) { 
     total += numbers; 
    } 
    return total/numbers.length; 
} 
+0

你會得到什麼錯誤? –

+5

將''總數+ =數字;''改爲''總數+ =數字[i];''。 – f1sh

+2

甚至更​​簡單:'for(int n:numbers)total + = n;' – assylias

回答

1

對象是一個數組

你需要得到整數中每一個位置:

for (int i = 0; i < numbers.length; i++) { 
    total += numbers[i]; 
} 

還有一個小竅門: 此位置:

return total/numbers.length; 

是整數之間的區分,你需要一個雙而不是!

0

您正試圖將數組添加到int。試試這個:

public static void main(String[] args) { 
    System.out.println(average(1, 5, 6, 87, 7)); 
} 

public static int average(int... numbers) { 
    int total = 0; 
    for (int i = 0; i < numbers.length; i++) { 
     total += numbers[i]; 
    } 
    return total/numbers.length; 
} 
4

首先,你不能整個陣列添加到整數總; 它應該是這樣的

total += numbers[i]; 

什麼還不是一個問題,但值得一想到是這樣的: 如果號碼中有0個元素,你會被零的平均方法的最後一行劃分。