-1

私はまだ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]);
    }
}

進め方がわかりませんので、よろしくお願いします。

ありがとうございました。

4

3 に答える 3

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)で除算して印刷します。

于 2013-02-09T15:43:03.057 に答える
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 

`

于 2013-02-09T15:39:23.240 に答える
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];


  }
于 2013-02-09T15:44:55.860 に答える