※ 引述《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"
先了解這串字的意義 再來修改就可以了