yomie123
2012-04-02 10:23 阅读 244
已采纳

关于java中的返回值的问题

import java.io.*;

public class Pnx {
public static void main(String[] args){
double x=0;
int n=0;

System.out.println("which item do you want know:");
try{
    BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
    n=Integer.valueOf(br.readLine());
    x=Integer.valueOf(br.readLine());
}catch(IOException ex){}

System.out.println("the nth item of pnx is:"+p(n,x));

}
static double p(int n,double x)
{

if(n==0)
return 1;
else if(n==1)
return x;
else if(n>1)
return ((2*n-1)*x*p(n-1,x)-(n-1)*p(n-2,x))/n;
}
}

这是求n阶勒让德多项式的值的代码。在eclipse中编译后说static double p(int n,double x)这里的返回值应该是double类型的。。我这个难道不是double类型的么?
我是java的初学者,所以不太清楚这个。。求解决。。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • 已采纳
    ll89308839 ll89308839 2012-04-02 11:10

    [code="java"]
    static double p(int n, double x)
    {
    if (n == 0)
    return 1D;
    else if (n == 1)
    return x;
    else if (n > 1)
    return ((2 * n - 1) * x * p(n - 1, x) - (n - 1) * p(n - 2, x)) / n;
    else throw new IllegalArgumentException("n must be positive number");
    }
    [/code]

    点赞 评论 复制链接分享
  • iteye_16709 iteye_16709 2012-04-02 16:03

    楼上正解。

    点赞 评论 复制链接分享

相关推荐