import java.io.*;
import java.math.*;
public class Main
{
    public static BigDecimal fact(int num)
    {
        BigDecimal sum = new BigDecimal(1.0);
        int i;
        BigDecimal a;
        for(i = 1; i <= num; i++)
        {
            a = new BigDecimal(i);
            sum =sum.multiply(a);
        }
        return sum;
    }
    public static void main(String args[])
    {
       System.out.println(fact(1000));
    }
}
就是在网上找到的这个程序,直接用JDK编译,老是出现说类Main是公共的,应该声明public class Main,可是程序已经声明了不是么?郁闷,不知道问题在哪儿?请高手指点!

解决方案 »

  1.   

    public static void main(String[] args)
    not 
    public static void main(String args[])
      

  2.   

    LZ的JDK是什么版本的,我用1.5运行没有任何问题
      

  3.   

    我用jdk1。5运行没有问题呀。多调试一下就能找到问题
      

  4.   

    你的源文件名是不是“Main.java”?
      

  5.   

    我的版本是JDK5.0的
    做的时候也没有错
    是不是你的版本低啊??
    自己再看看吧
      

  6.   

    danjiewu(阿丹) ( ) 信誉:100    Blog  2006-12-05 10:23:31  得分: 0  
     
     
       你的源文件名是不是“Main.java”?
      
     
      

  7.   

    public class 类名   那么你的文件名要和类名一样
      

  8.   

    哪位大虾给我解释一下这个
    a = new BigDecimal(i);
    sum =sum.multiply(a);
    生成a是用的啥类型?
    sum调用的是什么方法?