>>>我的程序非常简单,实现的功能是计算4的乘方。老兄,你的程序是想实现阶乘吗???

解决方案 »

  1.   

    1、fact(i-1) 你必须定义int fact(int), 可你的是int fact()。
    2、void DiGui(int i)应为public DiGui(int i),你必须把它显露出来。
      

  2.   

    do you want to get 4!  ? if so,class DiGui 
    {
    int fact(int i)
    {
                      if(i<1)
                       return 0;
    if(i == 1)
    return 1;
    else 
    return(i*(fact(i-1)));
    }
    } public class Search
    {
    void Search()
    {
    }
    public static void main(String args[])
    {
    DiGui digui = new DiGui();
    //digui.i = 4;
    System.out.println(digui.fact(4)); 
    }
    }
      

  3.   

    //改正了几个错误,可以运行了
    //Search.java
    class DiGui 
    {
    int i;
    //      void DiGui(int i)---构造器是不需要声明返回值的
    public DiGui(int i)//修正
    {
    this.i = i;
    }
    // public int fact()---你在下面用到"fact(i-1)",这里却不声明参数?!。
    public int fact(int i)//修正
    {
    if(i == 1)
    { return 1; }
    else 
    { return i*fact(i-1); }//代码段要用{},你的编程习惯要规范,这是一个程序员最基本的素质
    }

    public class Search
    {
    // void Search()
    // {
    // }
    public static void main(String args[])
    {
    DiGui digui = new DiGui(4);
    //digui.i = 4;
    System.out.println(digui.fact(4)); //这里也要跟方法的声明一致起来,要传入参数
    }
    }
    这个程序还有一些不太合理的地方,但这个样子已经不影响打印结果了,建议你拿出1个月的时间把java的语法认真学习一下,扎扎实实才能出真功夫。