请问老师,这段报错的是个什么问题?
来源:3-3 编程练习
啦啦啦皮皮卡丘
2022-07-13 23:48:03
public class AverageDemo {
//求数组元素的平均值
public float printAverage(float[] arr){
for(int i=0;i<arr.length;i++){
float sum=0f;
float ave=0f;
sum=sum+arr[i];
ave=sum/arr.length;
}
return ave;
}
public static void main(String[] args) {
//定义对象
AverageDemo am=new AverageDemo();
//创建float类型的数组并初始化
float[] arr={78.5f,98.5f,65.5f,32.5f,75.5f};
//调用方法求平均值并打印输出
float printAverage=am.printAverage(arr);
System.out.print("平均值为:"+printAverage);
}
}
AverageDemo.java:10: error: cannot find symbol
return ave;
^
symbol: variable ave
location: class AverageDemo
1 error1回答
好帮手慕小黑
2022-07-14
同学你好,编译器报的错误是无法解析变量”ave”,之所以报错是因为同学代码中ave是局部变量,是在for循环中声明的变量,其有效范围在for循环内,也就是同学代码中,第4行到第9行之间,为了解决问题,同学可以扩大有效范围,可以将ave变量声明在for循环外,编译器就不会报错。
例如:同学可以将第6行代码声明到第4行代码之上。
祝学习愉快!
相似问题