如何使一个方法重复自身?JAVA
我有一个填充数组的方法,我需要找到一种方法使它重复多次。其目的是迭代和重申行星的密度,以缩小其质量、重力和密度在特定点(同心壳)的范围。这是我的第一个项目,但我认为,在这方面的工作中,我学到了相当多的东西。谢谢大家 这是我的密度计算代码示例。我可能写得太多了,但哦,好吧。因此,我需要选择迭代次数。每次迭代都需要重新进行质量计算,然后再重新进行重力计算。然后节目又开始了如何使一个方法重复自身?JAVA,java,loops,methods,iteration,Java,Loops,Methods,Iteration,我有一个填充数组的方法,我需要找到一种方法使它重复多次。其目的是迭代和重申行星的密度,以缩小其质量、重力和密度在特定点(同心壳)的范围。这是我的第一个项目,但我认为,在这方面的工作中,我学到了相当多的东西。谢谢大家 这是我的密度计算代码示例。我可能写得太多了,但哦,好吧。因此,我需要选择迭代次数。每次迭代都需要重新进行质量计算,然后再重新进行重力计算。然后节目又开始了 public class ItrDensityGrid { public double itrrho[]; d
public class ItrDensityGrid {
public double itrrho[];
double b = InitialConditions.bmod;
// Iterating grid of densities
public ItrDensityGrid(int shells, double radius, double mass){
GravityGrid gg = new GravityGrid(shells, radius, mass);
for(int k = shells; k >= 0; k--){
itrrho[k] = (itrrho[k]*(1+(gg.alpha[k]*(1.0 / 2)))*(1 / (1-((gg.alpha[k])*(1.0 / 2)))));
}
}
}
你可以做一个函数来检查你的计算的容差是否已经足够好了,这里有一些“伪代码”
行星就是阵列。当然,您可以实现无止境循环检测等功能,这可以借助于或循环来实现 在递归中,从方法本身内部再次调用该方法。确保有条件地调用(或返回),否则可能导致无限循环 下面是一个递归的例子:
public planetMars (double density, double mass) {
// do your calculations
density = density / 10.05312;
mass = mass / 7.2378;
myArray[] = density; // or whatever you want
// if calculations have not narrowed enough, call recursively
if ( density > 5.2)
planetMars (density, mass);
}
或者,使用loop,您可以执行以下操作:
public planetMars (double density, double mass) {
// loop unless the calculation is not cool
while ( density > 5.2) {
// do your calculations
density = density / 10.05312;
mass = mass / 7.2378;
myArray[] = density; // or whatever you want
}
}
可以在任何条件块中调用该方法,也可以在条件中调用该方法本身。如果您可以提供该方法当前执行的操作的代码示例,那将是最好的。如果您还可以提供一些示例代码,那将是非常棒的。这样人们可以更准确地回答。从简单的描述,他们只能猜测一个解决方案。尝试谷歌如何做递归,你可能需要递归调用该方法。
public planetMars (double density, double mass) {
// loop unless the calculation is not cool
while ( density > 5.2) {
// do your calculations
density = density / 10.05312;
mass = mass / 7.2378;
myArray[] = density; // or whatever you want
}
}