老师为什么我把ave的值放在大括号外面就可以,放在里面就报错。现在这个是报错的代码
public class AverageDemo {
public void average(float[] arr){
double a;
double sum=0;
double ave;
for(int i=0;i<arr.length;i++){
a=arr[i];
sum+=a;
ave=sum/5;
}
System.out.println("数组的平均值为:"+ave);//求数组元素的平均值
}
public static void main(String[] args) {
float[] arr={78.5f,98.5f,65.5f,32.5f,75.5f};
AverageDemo ave=new AverageDemo();
ave.average(arr);//定义对象
//创建float类型的数组并初始化
//调用方法求平均值并打印输出
}
}
1
收起
正在回答
2回答
同学你好,局部变量在使用前必须赋值,因for可能会不执行,当i小于数组长度时,则无法运行for循环,则ave也就无法赋值,所以出现编译性错误。同学可以为ave设置默认值,或者在for循环外进行赋值。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
1. Java 零基础入门
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星