调用函数时,是否可以在函数的参数中生成随机数?

时间:2014-11-17 16:08:44

标签: java

我编写了一个计算数字平方根的Java程序,我没有使用内置函数。使用的方法是除法和平均值。该方法需要两个输入:&#34; X&#34;和一个随机数&#34; n&#34;其中n < X

通常在生成随机数时,我使用:

Random generator = new Random();
double guess = (double)generator.nextInt((int)(X - 1));

我想要的是一个类似下面给出的功能:

static double sqrt(double X, generator.nextInt(int)X)

这样的东西必须在函数调用期间执行。可能吗?请指导我完成这个。

3 个答案:

答案 0 :(得分:1)

好吧,你可以在函数第一行生成随机数:

double sqrt(double X) {
double randX = (double)generator.nextInt((int)X); 
//rest of the code here
}

答案 1 :(得分:1)

你可以为你的函数写一个包装器:

static double sqrt_(double x){
  return sqrt(X, generator.nextInt(int)X)
}

答案 2 :(得分:0)

你说你正在实施除法和平均算法。在那你猜一次,然后多次执行除法和平均,这可能意味着递归调用sqrt_。

class SomeClass {
  Random generator = new Random();

  private double sqrt_(double X, double guess) {
  ...
  }

  public double sqrt(double X) {
    return sqrt_(X, (X-1)*generator.nextDouble()));
  }
}