尚未初始化变量问题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | 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积分~
来为老师/同学的回答评分吧