我编写了一个计算数字平方根的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)
这样的东西必须在函数调用期间执行。可能吗?请指导我完成这个。
答案 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()));
}
}