java:39:找不到符号符号:方法指数(double,int)else {return base * exponent(base,exponent - 1);}

时间:2013-02-10 06:30:03

标签: java methods compiler-errors symbols

import java.util.Scanner;

public class TaylorSin {

    /* I am trying to approximate sin(x) using Maclaurin Series...
    I am trying to get 1 term (1 Step Towards my approximation) the exponent divided by a factorial...
    However I get stuck in the calculateExponent method...
    Thank You in Advance! */

    public static void main(String[] args) {

        Scanner Keyboard = new Scanner(System.in);

        double base; int exponent, n;

        System.out.println();
        System.out.println("Enter Base: ");
        base = Keyboard.nextDouble();
        System.out.println("Enter Exponent: ");
        exponent = Keyboard.nextInt();
        System.out.println("Enter n: ");
        n = Keyboard.nextInt();
        System.out.println();

        System.out.println(calculateTerm(2.0, 4, 2));
    }       

    public static int calculateFactorial(int n) {

        int facto = 1;

        for (int i = 1; i <= n; i++)

        {facto = facto * i;}

        return facto;

    }

    public static double calculateExponent(double base, int exponent) {

        if(exponent == 0){return 1;}

        else { return base * exponent(base, exponent - 1);} //The mistake occurs on that line...    
    }       

    public static double calculateTerm(double base, int exponent, int n) {

        double term = (calculateExponent(base, exponent)/calculateFactorial(n));

        return term;
    }
}                   

2 个答案:

答案 0 :(得分:2)

而不是

else { return base * exponent(base, exponent - 1);} //The mistake occurs on that line...    

你的意思是

else { return base * calculateExponent(base, exponent - 1);} //The mistake occurs on that line... 

(即exponent替换calculateExponent

未定义方法名称exponent。这就是错误消息试图告诉你的内容。

答案 1 :(得分:0)