作者starlichin (白星羽)
看板java
標題[問題] 計算Array的平均值
時間Fri Sep 15 22:34:41 2017
我想寫一個array的constructor還有一個average的method去計算其平均值
程式碼如下:
public class Array2 {
public int sum;
public int x, r0, r1, r2, r3, r4, r5;
public int num[];
public Array2(int r0, int r1, int r2, int r3, int r4, int r5) {
num = new int[]{this.r0, this.r1, this.r2, this.r3, this.r4, this.r5};
}
public double average() {
for (int x : num) {
sum += x;
}
return sum / num.length;
}
class main {
public static void main(String args[]) {
Array2 arr = new Array2(2, 4, 6, 8, 10, 12);
arr.average();
System.out.println(arr.average());
}
}
}
但執行後會出現inner class cannot have static declaration的錯誤
我是初學者看不出問題出在哪 :(
麻煩版上的強者解答了~
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.166.131.169
※ 文章網址: https://webptt.com/m.aspx?n=bbs/java/M.1505486084.A.7B1.html
1F:→ ssccg: 不要多包一層class main,main method直接放在外面的class 09/15 22:44
2F:→ ssccg: 另外你constructor裡面丟給num的不是傳入的參數,而是物件 09/15 22:45
3F:→ ssccg: 欄位,顯然不會是你要的結果,欄位只需要num其他都是多的 09/15 22:47
4F:→ ssccg: 然後sum是int,num.length也是int,會變整數除法,你必須先 09/15 22:47
5F:→ ssccg: 把sum轉型成double再除 09/15 22:48
6F:→ starlichin: 感謝!! 09/16 18:28