尚未初始化变量问题
import java.util.Scanner; public class HomeWork{ //显示菜单的方法 public void menu(){ System.out.println("*****************************************"); System.out.println(" 1--初始化数学成绩"); System.out.println(" 2--求成绩的平均值"); System.out.println(" 3--统计成绩大于85分的人数"); System.out.println(" 4--修改指定位置处的成绩"); System.out.println(" 5--打印输出所有成绩"); System.out.println(" 0--退出"); System.out.println("*****************************************"); } //初始化数学成绩的方法 public float[] score() { Scanner input=new Scanner(System.in); System.out.println("请输入要存储的数学成绩的数量:"); int num=0; while(true){ try{num=input.nextInt(); }catch(java.util.InputMismatchException e){ System.out.println("输入的格式有误,或有小数或非数字!"); input.next(); } if(num>0){ break; } } float[] score=new float[num]; for(int a=0;a<num;a++){ System.out.println("请输入第"+(a+1)+"个数据:"); try{score[a]=input.nextFloat(); }catch(java.util.InputMismatchException e){ System.out.println("输入的格式有误,或有小数或非数字!"); input.next(); a--; } } return score; } //求平均值的方法 public float average(float[] f) { float sum=0; for(float n: f){ sum=sum+n; } float ave=sum/f.length; return ave; } //求分数大于85分的人数的方法 public int count(float[] f) { int count; for(float n : f){ if(n>85){ count++; } } return count; } public static void main(String [] args){ HomeWork sc=new HomeWork(); sc.menu(); float[] stuScore=sc.score(); float ave=sc.average(stuScore); int highScore=sc.count(stuScore); System.out.println(highScore); } }如代码所示,当我不对求分数大于85分的方法里的count初始化变量,运行报错,这是为什么?不仅是count,包括其他方法里的变量,不初始化就报错,这是为什么?
0
收起
正在回答
4回答
同学你好,如图所示:当局部变量定义时未赋值,之后程序中赋值语句可以,其他地方使用该变量时会报错。如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
1. Java 零基础入门
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星