用下一个索引Java划分数组索引

时间:2013-02-09 15:27:23

标签: java arrays

我还在学习Java并对数组有疑问。

我的阵列:

 double arr[] = {1.8, 3.6, 5.0, 2.0};

我的问题是如何将第一个索引除以下一个等等,而不是最后一个索引。 每个索引除以2.因此得到的数组如下所示:

double arr[] = {0.5, 0.72, 2.5, 2.0};

通过这种方式我走在正确的轨道上:

public static void main(String [] args){
    double arr[] = {1.8, 3.6, 5.0, 2.0};

    for(int j = 0; j < arr.length; j++){
        arr[j] = arr[0] / arr[1];
        arr[j] = arr[1] / arr[2];

        System.out.println(arr[j]);
    }
}

我不确定如何继续,所有的帮助表示赞赏。

谢谢。

3 个答案:

答案 0 :(得分:1)

试试这个:

for(int j = 0; j < arr.length-1; j++){
        arr[j] = arr[j] / arr[j+1];
        System.out.println(arr[j]);
    }
System.out.println(arr[arr.length-1]);  // this will print the last element 

`

答案 1 :(得分:1)

这应该有效:

public static void main(String [] args) {
  double arr[] = {1.8, 3.6, 5.0, 2.0};
  int j;
  System.out.print("[");
  for(j = 0; j < arr.length - 1 ; j++) {
    arr[j] = arr[j] / arr[j+1];
    System.out.print(arr[j] + " , ");
  }
  System.out.println(arr[j] + "]");
}

正如您在循环中看到的那样,j表示每次迭代中的索引。你的数组看起来像:

{1.8, 3.6, 5.0, 2.0} arr.length4,索引为:0 1 2 3

  ^    ^    ^    ^
  |    |    |    |
  0    1    2    3

所以我们在数组上旅行,将每个元素(j)除以下一个元素(j+1)并打印出来。

答案 2 :(得分:1)

public static void main(String[] args) {
    double arr[] = { 1.8, 3.6, 5.0, 2.0 };
    double[] resultArr = new double[arr.length];

    for (int i = 0; i < arr.length - 1; i++) {
      double result = arr[i] / arr[i + 1];
      resultArr[i] = result;

    }
    resultArr[arr.length - 1] = arr[arr.length - 1];


  }