//文件名:Factorial.Java
package book.basic;public class Factorial
{
  public long getFactorial(int n)
{
   if((n<0)||(n>17))
   {
   System.err.println(" n值的范围必须在[0,17]内!");
   return  -1;
   }
   else if(n==0)
   {
   return 1;
   }
   else
   {
   long result=1;
   for(;n>0;n--)
       result*=n;
   }
   return result;
  }
}
  public static void main (String[] args)
  {
   Factorial test=new Factorial();
   System.out.println(test.getFactorial(15) );
  } 感觉像是很简单的问题,但就是找不出来错误信息如下:
Factorial.java:26: 需要 "class" 或 "interface"
public static void main (String[] args)

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【JAVA_mentu】截止到2008-07-14 20:55:08的历史汇总数据(不包括此帖):
    发帖的总数量:6                        发帖的总分数:110                      每贴平均分数:18                       
    回帖的总数量:28                       得分贴总数量:10                       回帖的得分率:35%                      
    结贴的总数量:6                        结贴的总分数:110                      
    无满意结贴数:1                        无满意结贴分:20                       
    未结的帖子数:0                        未结的总分数:0                        
    结贴的百分比:100.00%               结分的百分比:100.00%                  
    无满意结贴率:16.67 %               无满意结分率:18.18 %                  
    敬礼!
      

  2.   

    package book.basic;public class Factorial
    {
      public long getFactorial(int n)
    {
          if((n<0)||(n>17))
          {
              System.err.println(" n值的范围必须在[0,17]内!");
              return  -1;
          }
              else if(n==0)
          {
              return 1;
          }
              else
          {
              long result=1;
              for(;n>0;n--)
           result*=n;
          }    
          return result;
      }
    public static void main (String[] args)
      {
          Factorial test=new Factorial();
          System.out.println(test.getFactorial(15) );    
      }
    }
      
      

  3.   

    public class Factorial{    public long getFactorial(int n) {        long result = -1;
            if ((n < 0) || (n > 17)) {
                System.err.println(" n值的范围必须在[0,17]内!");
                return -1;
            } else if (n == 0) {
                return 1;
            } else {
                result = 1;
                for (; n > 0; n--) {
                    result *= n;
                }
            }
            return result;
        }    public static void main(String[] args) {
            Factorial test = new Factorial();
            System.out.println(test.getFactorial(15));
        }
    }
      

  4.   

    看这一句:return result;
    这里result没有定义.
      

  5.   

    public static void main (String[] args) 

    Factorial test=new Factorial(); System.out.println(test.getFactorial(15) );
     } 
    很明显。。main()方法跑类外面来了。。------------------------------------------------------------public class Test {
        public static void main(String[] args) {
          }}
      

  6.   

    有2个地方错了~~一 是你的主方法不知道为什么独个跑了出类外面二 是你的result定义了局部变量~所以提示没定义public class Factorial
    {
    public long getFactorial(int n)
    {
    long result = 0;
    if((n<0)||(n>17))
          {
              System.err.println(" n值的范围必须在[0,17]内!");
              return  -1;
          }
              else if(n==0)
          {
              return 1;
          }
              else
          {
              result=1;
              for(;n>0;n--)
           result*=n;
          }    
          return result;
      }
    public static void main (String[] args)
    {
      Factorial test=new Factorial();
      System.out.println(test.getFactorial(15) );    
    }      
    }  
      

  7.   

    改了之后出现这个问题了,运行不了,路径我已设好了,这次有不知道是什么问题了。java.lang.NoClassDefFoundError: Factoria
    Caused by: java.lang.ClassNotFoundException: Factoria
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    Could not find the main class: Factoria.  Program will exit.
    Exception in thread "main" 
      

  8.   

    在 book 文件夹的上一层文件夹下
    [code=BatchFile]java book.basic.Factorial[/code]
    试试
      

  9.   

    sorry,我运行时文件名打错了,谢谢各位。