我还在学习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]);
}
}
我不确定如何继续,所有的帮助表示赞赏。
谢谢。
答案 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.length
为4
,索引为: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];
}