请问老师,这段报错的是个什么问题?
来源: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 error
1回答
好帮手慕小黑
2022-07-14
同学你好,编译器报的错误是无法解析变量”ave”,之所以报错是因为同学代码中ave是局部变量,是在for循环中声明的变量,其有效范围在for循环内,也就是同学代码中,第4行到第9行之间,为了解决问题,同学可以扩大有效范围,可以将ave变量声明在for循环外,编译器就不会报错。
例如:同学可以将第6行代码声明到第4行代码之上。
祝学习愉快!
相似问题