public class Factorial{
  public static void main(String[] args){
  int input=Integer.parseInt(args[0]);
  double result=factorial(input);
 System.out.println(result);
}public static double factorial(int x){
if(x<0)return 0.0;
double fact=1.0;
while(x>1){
fact=fact*x;
x=x-1;
}
return fact;
}
}

解决方案 »

  1.   

    小弟刚学不知这样行不行:
    import java.lang.*
      

  2.   

    楼上的方法我试过了,可是还是不行
    但 如果这样的话就没什么问题了,问题还在命令行参数的传递上,小弟实在找不出原因
    import java.lang.*;
    public class Factorial{
      public static void main(String[] args){
         int input=Integer.parseInt("5");
         double result=factorial(input);
         System.out.println(result);
      }
       public static double factorial(int x){
               if(x<0) return 0.0;
               double fact=1.0;
               while(x>1){
                    fact=fact*x;
                    x=x-1;
                         }
               return fact;
            }
    }
      

  3.   

    还是不行啊。。连J2SDK里面的例子也不能运行了也一样是上面的提示。郁闷啊!!!
      

  4.   

    Classpath没有设置好
    set ClassPath=.;C:j2sdk/lib;你的当前目录;
    去搜索一下,这样的帖子很多
      

  5.   

    一个类里面,不能有2个public的吧另外看看,环境配置的对不对
      

  6.   

    呵呵,我知道了,你 java Factorial 6(你要输入的数字)
      

  7.   

    你的文件名是不是Factorial,注意大小写。
      

  8.   

    ruru235(denny_blue)说得对
    你JAVA_HOME设置了么
    java.lang.*是默认的,不需要import
      

  9.   

    刚开始接触java时很容易犯的错误!
      

  10.   

    java .lang会自动加载
    你把classpath设为当前目录 即在环境变量中的classpath变量设为.
    然后进入这个目录在编译试一试!!!
      

  11.   

    你编译后有这个文件吗     Factorial$factorial.java
      

  12.   

    鼠标右击“我的电脑”->属性->高级->环境变量,或 开始->设置->控制面板->系统->高级->环境变量    系统变量->新建->变量名:JAVA_HOME 变量值:c:\j2sdk1.4.2_01
        系统变量->新建->变量名:CLASSPATH 变量值:.;%JAVA_HOME%\lib
        系统变量->编辑->变量名:Path 在变量值的最前面加上:%JAVA_HOME%\bin;(CLASSPATH中有一英文句号“.”后跟一个分号,表示当前路径的意思)我的操作系统是XP的,我是按上面的设置而做的啊应该没问题才对的啊。。还是不明白
      

  13.   

    TO CHV8088():
    没有啊,只是有一个Factorial.class生成。
      

  14.   

    ruru235(denny_blue) 说得对,是你的classpath没有设置
    如果你用的是win98的话,按照ruru235(denny_blue) 说的就可以了
    如果你用的是win2000的话,在环境变量里添加classpath 值是C:\j2sdk\bin(假设你的jdk安装在C:根目录下)我编译运行ok!
      

  15.   

    兄弟,听我一句:
    如果你是在命令提示符下出现这样的情况的话,请看看你的源代码里是不是有这样一句:
    import java.io.*;
      

  16.   

    好像设置路径后是要重起的.还有我运行了你的程序,是可以的.
    我先输javac Factorial.java
      接着java Factorial 4
      结果是 24.我也是菜鸟一个,不知道对不对!
      

  17.   

    还有,总是编绎得了,但解释不了的只要:java Factorial.java
    就出现问题了。。总是那句话的,它就不能有点新意的啊!!至少也让我这个菜鸟有点成就感的啊才对。。可是,可是,所有的JAVA文件都是那个问题。。没着了!!郁闷啊