Re: [問題] 計算Array的平均值

作者: zephyrhymn   2017-09-16 00:46:47
※ 引述《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"
先了解這串字的意義 再來修改就可以了
作者: starlichin (白星羽)   2017-09-16 18:29:00
謝謝!! 我本來想讓constructor來決定array裡面的值
作者: hpbl (頂)   2017-09-17 06:41:00
要不要考慮用Integer[] 再轉成stream?
作者: zephyrhymn   2017-09-17 11:38:00
你可以參考一下文章#1MO0LHVx 判斷是否使用
作者: wtfaha (wtfaha)   2017-09-19 11:13:00

Links booklink

Contact Us: admin [ a t ] ucptt.com