尚未初始化变量问题
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 星