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

为什么int score=53放在for循环里就错误了

public class HelloWorld {
    public static void main(String[] args) {
       
        // 变量保存成绩
        
       
        // 变量保存加分次数
        int count = 0;


        //打印输出加分前成绩
          System.out.println("加分前成绩:"+score);
      
       
        // 只要成绩小于60,就循环执行加分操作,并统计加分次数
       
          for(int score = 53;score<60;){
            score=score+1;
            count=count+1;
        }
        System.out.println("加分后成绩:60");
        System.out.println("共加了"+count+"次!");

       
       
       
       
       
        //打印输出加分后成绩,以及加分次数
     

    }
}


正在回答

2 回答

作用域问题:

  for(int score = 53;score<60;) //此处变量score作用域仅为 for循环内,当跳出 for 循环时,score会被回收
  {                            
            score=score+1;       
            count=count+1;
  }
但入如果 把score定义在 main方法中的话,则for循环中不需再表明数据类型,直接调用main方法中的变量score即可

 如下:

public static void main(String[] args) {
    int count = 0;        //打印输出加分前成绩          
    System.out.println("加分前成绩:"+score);// 只要成绩小于60,就循环执行加分操作,并统计加分次数                 
    for(score = 53;score<60;score++) //此时为直接调用main方法中的变量score ,作用域为整个main方法
    {                        
   count += 1;        
    }        
System.out.println("加分后成绩:60");        
System.out.println("共加了"+count+"次!");
}


0 回复 有任何疑惑可以回复我~

可以放在for循环里呀,但是你12行写了这句话

System.out.println("加分前成绩:" + score);

这句话前面没定义score怎么能输出去呢

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么int score=53放在for循环里就错误了

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信