public class Factorial{public static void main (String args[]){System.out.println(i);for (int i=1 ,  j=1  ,m= 0 ; i<100 ;){   System.out.println("  "  + i)  ;m=i;i=i+j;j=m;}System.out.println(" ");}}
不知是书上错还是怎么的,我对过了,没抄错

解决方案 »

  1.   

    System.out.println(i);i的变量没定义!!!
      

  2.   

    楼上说对了一点,还有一点就是去掉Factorial类前面的public限制,可运行出结果是:
    1
    2
    3
    5
    8
    13
    21
    34
    55
    89
      

  3.   

    将第三行的:
    System.out.println(i);
    注释掉就好了,慢慢就好了。
      

  4.   

    敢问  
     huliqun() 你为什么要把public去掉,这个对该代码有意义吗
      

  5.   

    如果你的java文件名不是和Factorial完全一样(包括大小写)的话,就要把public 去掉
    因为在java中,只有类名和源文件名一样的类才可以定义为public类。
      

  6.   

    System.out.println(i);i的变量没定义!!!
    在java中,假如想使用一个变量的话,必须给变量赋个初值! 在这个程序中应该是
    在控制台上打印i的位置错了
      

  7.   

    system.out.println(i)放在for()循环中使用,如果非要在外面使用的话,那你要在外面
    定义一个全局变量i,因为for中的i是不参与全局调用的,只能在for中使用public 是定义是否允许公共调用的~无所谓的,不过要是有public 修饰的class那么文件名就要和class文件一致。显然一个文件中就只能有一个public class了
      

  8.   

    public class Factorial{public static void main (String args[]){int i=1;//加这一行System.out.println(i);for (int i=1 ,  j=1  ,m= 0 ; i<100 ;){   System.out.println("  "  + i)  ;m=i;i=i+j;j=m;}System.out.println(" ");}}