为了账号安全,请及时绑定邮箱和手机立即绑定

哪错了???老提示在最后一行的“i”有问题

哪错了???老提示在最后一行的“i”有问题

慕虎2174615 2017-06-01 22:07:43
public static void main(String[] args) { int classNum=3;//班级数量 int stuNum=4;//学员数量 double sum=0;//保存成绩总和 double avg=0;//成绩平均分 Scanner input=new Scanner(System.in); for(int i=1;i<=classNum;i++) { System.out.println("***请输入第"+i+"个班级的成绩"); for(int j=1;j<=stuNum;j++) System.out.println("***请输入第"+j+"个学员的成绩");    int score=input.nextInt();//获取输入的成绩    sum=sum+score;//成绩累加求和 } avg=sum/stuNum;//计算平均分 System.out.println("第"+i+"个班级的成绩平均分为:"+avg+"。");}
查看完整描述

3 回答

?
张旭Jason_EarlySun

TA贡献1条经验 获得超1个赞

第二个for后面少个{

查看完整回答
1 反对 回复 2017-06-02
?
qq_大大_13

TA贡献3条经验 获得超0个赞

i是局部变量,你提到外面去,怎么可能找到,放外循环里边。

查看完整回答
反对 回复 2017-06-02
?
Ossian

TA贡献1条经验 获得超0个赞

把for循环里的int i弄到for循环上面

查看完整回答
反对 回复 2017-06-02
?
望远

TA贡献1017条经验 获得超1032个赞

for(int i=1;i<=classNum;i++)
{
System.out.println("***请输入第"+i+"个班级的成绩");
sum=0;
for(int j=1;j<=stuNum;j++)//这里控制好内层循环计算班级总分
{
    System.out.println("***请输入第"+j+"个学员的成绩");
    int score=input.nextInt();//获取输入的成绩
    sum=sum+score;//成绩累加求和
}
avg=sum/stuNum;//计算平均分
System.out.println("第"+i+"个班级的成绩平均分为:"+avg+"。");
}//外层循环到这里结束,这样就解决了变量作用域的问题。


查看完整回答
反对 回复 2017-06-02
?
徐明浩

TA贡献5条经验 获得超10个赞

i是局部变量,syso中的i属于全局变量。是调用不到的。

查看完整回答
反对 回复 2017-06-02
?
慕尼黑6977113

TA贡献1条经验 获得超0个赞

i是外循环中的局部变量,在for循环有定义循环外无定义
查看完整回答
反对 回复 2017-06-02
?
精慕门9254224

TA贡献167条经验 获得超46个赞

你内部for循环后面少写个{,所以IDE把你内部for循环后跟的},视为外部for循环的结束符了!所以i的作用域超出了外循环for的范围!

查看完整回答
反对 回复 2017-06-01
?
磁单极

TA贡献22条经验 获得超19个赞

你这个i是for循环中的局部变量,他的作用域只在for循环内部,在外面是获取不到这个i的


查看完整回答
反对 回复 2017-06-01
  • 3 回答
  • 0 关注
  • 2826 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信