public int power(int inputNumber,int powerNumber)
应该是静态方法。
public static int power(int inputNumber,int powerNumber)因为你调用该方法的main函数是静态方法,静态方法只能调用静态方法或者变量。

解决方案 »

  1.   

    你只要记住static成员是class专有的不是某个方法所有的就行了.
    所以要在static方法中调用外部方法就只能将该方法声明为static或者通过对象来调用.
      

  2.   

    或者这样:public class Power2
    {
    public static void main(String arg[])
    {
                      Power2 power2 = new Power2();
    System.out.println(power2.power(2,2));
    }

    public int power(int inputNumber,int powerNumber)
    {
    if(powerNumber == 1)
    return 1;
    else
    return inputNumber * power(inputNumber,powerNumber - 1);
    }
    }