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