2017-08-10 109 views
-1

没有人知道如何使用数组作为参考通过使用循环来获得另一个数组中的元素或另一个有用的方法 例如,我得到多个阵列的下方,并且我运行该程序之后的输出阵列将具有Java数组,使用数组的元素作为参考,以获得从另一个数组元素,然后创建另一个新的数组

int[] array = { 0, 1, 3, 4, 5, 6, 8 }; 
int[] c = { 18, 19, 20, 21, 22, 23, 24, 25, 26 }; 

我运行程序之后

output ={18,19,21,22,23,24,26} 


//this is generate through below 
output[0]=c[0]; 
output[1]=c[1]; 
output[2]=c[3]; 
output[3]=c[4]; 
+3

究竟什么是你的问题?你想知道你是否可以用循环实现输出而不是硬编码索引? –

+1

可以这样'C [数组[0]]'访问值。添加一个for循环来遍历'array',然后你就可以开始了。 – Kayaman

+0

是的,只是不知道是否有任何其他更好的方式来实现这一目标 –

回答

1

由于数组索引是通常的整数值,它们不要吨需要被硬编码:

int[] indeces = { 0, 1, 3, 4, 5, 6, 8 }; 
int[] values = { 18, 19, 20, 21, 22, 23, 24, 25, 26 }; 
int[] output = new int[indeces.length] 

for (int i = 0; i<indeces.length; i++) { 
    output[i] = values[indeces[i]]; 
} 

(代码未测试)

0

您可以访问值这样的:

output[i]=c[array[i]]; 

我把它留给你周围聚集声明:)

0

环路您可以使用下面的代码来实现这一

int[] array = { 0, 1, 3, 4, 5, 6, 8 }; 
int[] c = { 18, 19, 20, 21, 22, 23, 24, 25, 26 }; 
int output [] = new int[array.length]; 
int cnt =0 ; 
for(int a : array){ 
    if(a < c.length && a >= 0){ 
     output[cnt++]=c[a]; 
     } 
} 

这是一个非常简单的解决办法当然还有其他的方法来达到同样的

相关问题