import java.io.*;
class Factorial{
try{
int n;
     BufferedReader guang=new BufferedReader(new InputStreamReader(System.in));
      System.out.println("Please input a number!");
      n=Integer.parseInt(guang.readLine());
       catch ( Exception e)
     { System.out.println(e);
      }
      public static int factorial(){
      if(n==1){
       return 1;
       }
       return n*factorial(n-1);
  }
}
}
class Factorial1{
public static void main(String[] args){
Factorial A=new Factorial();
System.out.println("A:"+A.factorial());
}
}
谁帮我看看是什么问题

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【Tomasea】截止到2008-07-02 15:29:06的历史汇总数据(不包括此帖):
    发帖的总数量:0                        发帖的总分数:0                        
    结贴的总数量:0                        结贴的总分数:0                        
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:0                        未结的总分数:0                        
    结贴的百分比:---------------------结分的百分比:---------------------
    无满意结贴率:---------------------无满意结分率:---------------------
    如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
      

  2.   

    try{
    int n;
        BufferedReader guang=new BufferedReader(new InputStreamReader(System.in));
          System.out.println("Please input a number!");
          n=Integer.parseInt(guang.readLine());
          catch ( Exception e)
        { System.out.println(e);
          } 这段扔方法里
      

  3.   

    try ...catch必须是在方法里面的。或者静态代码块里的
      

  4.   

    放到那个方法里阿,factorial里么,还是在构造个方法
      

  5.   

    class Factorial{      public static int factorial(){
    int n=0;
    try{    BufferedReader guang=new BufferedReader(new InputStreamReader(System.in));
          System.out.println("Please input a number!");
          n=Integer.parseInt(guang.readLine());
          catch ( Exception e)
        { System.out.println(e);
          }
          if(n==1){
          return 1;
          }
          return n*factorial(n-1);
      }
    }
    }
    class Factorial1{
    public static void main(String[] args){
    Factorial A=new Factorial();
    System.out.println("A:"+A.factorial());
    }
    } 不知道是否是楼主要的效果
      

  6.   

    为什么main方法要单独放在一个类里面呢,我改好了,好好对比一下
    import java.io.BufferedReader;
    import java.io.InputStreamReader;public class Factorial
    {
        static int n;    static
        {
            try
            {
                BufferedReader guang = new BufferedReader(new InputStreamReader(System.in));
                System.out.println("Please input a number: ");
                n = Integer.parseInt(guang.readLine());
            }
            catch(Exception e)
            {
                System.out.println(e);
            }
        }    public static int factorial()
        {
            return factorial(n);
        }    public static int factorial(int n)
        {
            if(n == 1 || n == 0)
            {
                return 1;
            }        return n * factorial(n - 1);
        }    public static void main(String[] args)
        {
            System.out.println("A:" + Factorial.factorial());
        }
    }
      

  7.   


    你这个调了没有哦, hoho,你编译一下看看~~~~~~~~~~~~~~~