请问老师,这段报错的是个什么问题?

来源: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行代码之上。

祝学习愉快!

0

0 学习 · 16556 问题

查看课程