如何遍历数组的值?

时间:2018-02-19 00:31:09

标签: java arrays for-loop iteration

我正在尝试使用mountainRange [0]的值来计算mountainRange [1]的值,然后使用[1]的值来计算[2],依此类推。

 public static double[] generateMountains(int size, double steepness, double maxHeight)
  {
    double [] mountainRange = new double[size];    
mountainRange[0] = maxHeight/2;    

    for (int i = 1; i < mountainRange.length; i++)
     {
       mountainRange[i] = getNextPoint(mountainRange [i], steepness, maxHeight);
       System.out.println("point is: " + mountainRange[i]);
     }

所以问题是mountainRange [i]总是等于main方法(10)中给出的第一个值。我试过了:

 for (int i = 1; i < mountainRange.length; i++)
 {
   mountainRange[i] = getNextPoint(mountainRange [i-1], steepness, maxHeight);

但是我得到了相同的结果,唯一的区别是该值现在会随机变化。从10.0到9.97 ......或6.78 ......,或者有时它将一直保持在10。

另外,getNextPoint方法

    public static double getNextPoint (double height, double steepness, double maxHeight)
  {
    steepness = steepness - (Math.random() * steepness);

    height = height + steepness;
    return height;

我打印的陡度并没有改变主方法中的设置。它应该做的是:如果给出陡度3.0,实际陡度将是-3.0和3.0之间的随机数。

另外,我尝试在for循环之前移动generateMountains中的getNextPoint方法。但是,陡度并没有改变。

0 个答案:

没有答案