作者zephyrhymn (是)
看板java
標題Re: [問題] 計算Array的平均值
時間Sat Sep 16 00:46:47 2017
※ 引述《starlichin (白星羽)》之銘言:
: 我想寫一個array的constructor還有一個average的method去計算其平均值
: 程式碼如下:
: 但執行後會出現inner class cannot have static declaration的錯誤
: 我是初學者看不出問題出在哪 :(
: 麻煩版上的強者解答了~
public class MainClass
{
public static void main(String[] args)
{
int[] nums = { 2, 4, 6, 8, 10, 12 };
MainClass mainClass = new MainClass();
InnerClass innerClass = mainClass.new InnerClass(nums);
System.out.println(innerClass.mean());
}
private class InnerClass
{
private int[] nums;
public InnerClass(int[] nums)
{
this.nums = nums;
}
public double mean()
{
double sum = 0.0;
for (int num : nums)
{
sum += (double) num;
}
return (sum / nums.length);
}
}
}
根據你的例子改寫的小程式
這個class包class的用法是稱作inner class或nested class
平常開發大型專案時是不太會使用這種用法 畢竟會讓程式看起來太過複雜
但是作為了解Java的特性 試試看倒是不錯
你的問題很簡單 error message就已經告知你語法上哪裡有錯
"inner class cannot have static declaration"
先了解這串字的意義 再來修改就可以了
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.248.2.213
※ 文章網址: https://www.ptt.cc/bbs/java/M.1505494009.A.A17.html
※ 編輯: zephyrhymn (111.248.2.213), 09/16/2017 02:29:52
→ starlichin: 謝謝!! 我本來想讓constructor來決定array裡面的值 09/16 18:29
→ hpbl: 要不要考慮用Integer[] 再轉成stream? 09/17 06:41
→ zephyrhymn: 你可以參考一下文章#1MO0LHVx 判斷是否使用 09/17 11:38
→ wtfaha: 真 09/19 11:13