下列程序有什么错误?public class Ciccle {
     public static void main(String args[]){ 
      for(int i=0;i<10;i++)
      System.out.println(i+4);
    
     }
}
答案是:在使用println()没有定义i变量
我的问题是 在for语句中不是已经定义了吗?
           而且我运行也能运行此程序啊。。
           为什么书上说这段程序是错的呢?

解决方案 »

  1.   

    书上是错的
    有可能是
    for(int i=0;i <10;i++);
    System.out.println(i+4);
    这样就报错了
    哎,推测而已
      

  2.   

    书上的 不 一定正确
       for(int i=0;i <10;i++) 
    {//如果只有一句的话无所谓有无括号没 关系
      System.out.println(i+4); 
    }
    两句的 就错了 
     for(int i=0;i <10;i++) 
        System.out.println(i+4); 
       System.out.println(i+4); 
      
        
      

  3.   


    这样子写是没有什么错的 书上的不一定全对 
    咱们应该主要看程序是否能够正常运行 只要不出错也达到了效果就说明它是正确的
    不过规范一点写的话 在for()后边加上{}比较好
      

  4.   

    书上认为循环体中的i没有定义,其实for中定义的变量可以在循环体中使用
      

  5.   

    for(int i=0;i <10;i++); //;表示一行结束,也就是for循环的循环体为空
    System.out.println(i+4); //i出了作用域,要报错下面写法正确
    //如果for循环,循环体只有一句话,大括号可以省略
    for(int i=0;i <10;i++)
    System.out.println(i+4); 与
    for(int i=0;i <10;i++){
       System.out.println(i+4); 
    }
    是相同的书可能印刷有问题,少了“;”了
      

  6.   

    感觉你写的么有问题啊@,你的i定义在循环体中,限制在for循环中使用,for下面只有一条执行语句可以不需要{}符号,for(int i=0;i <10;i++) 
    System.out.println(i+4); 
    你的没有问题!
      

  7.   

    很有可能是
    public class Ciccle { 
        public static void main(String args[]){ 
        for(int i=0;i <10;i++);
        System.out.println(i+4); 
        
        } 
    } 你那程序师没有错的,已运行成功!
      

  8.   


    书上不一定是正确的,但要理解,
    for(int i=0;i <10;i++)
      System.out.println(i+4);

    for(int i=0;i <10;i++)
    {
       System.out.println(i+4);
    }
    一样的效果,
    但是for(int i=0;i <10;i++)
      System.out.println(i+4);
      System.out.println(i+4);
    就会出错,因为for循环没有花括号的时候,就将后面的一句作为循环体,就会报错没有定义i变量。。