作者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://webptt.com/cn.aspx?n=bbs/java/M.1505494009.A.A17.html
※ 编辑: zephyrhymn (111.248.2.213), 09/16/2017 02:29:52
1F:→ starlichin: 谢谢!! 我本来想让constructor来决定array里面的值 09/16 18:29
2F:→ hpbl: 要不要考虑用Integer[] 再转成stream? 09/17 06:41
3F:→ zephyrhymn: 你可以参考一下文章#1MO0LHVx 判断是否使用 09/17 11:38
4F:→ wtfaha: 真 09/19 11:13