2016-10-02 106 views
4

简而言之,我有一组这样的数字。如何返回数组中的特定值? - Java

int targetNumber = 8; 

int[] n = new int[4]; 
n[0] = 2; 
n[1] = 4; 
n[2] = 8; 
n[3] = 16; 

现在,我试图返回3个数字。

例如,由于n[2]等于targetNumber,我想回到n[0]n[1],并n[3]

任何方式,我怎么能做到这一点?

+0

你可以只返回一个对象或原语。例如,您可以使用所需值返回一个较小的数组,或者使用相关字段定义一个对象,然后设置这些字段并返回对象。 – Zarwan

回答

2

可以在经典时尚做到这一点:

for (int i : n) { 
    if (i != targetNumber) 
     System.out.println(i); 
} 

输出将是n[0]n[1]n[3]

2 
4 
16 
+0

我认为这个问题只有三个数字:) –

+0

@ Dev.Joel你的答案是有效的我认为这可能是过于复杂的OP,我喜欢流,但也许OP还没有足够的流的知识。任何方式我也给你我的投票。我认为他的意思是3仍然是4的数字 –

+0

问题的焦点也可能是因为数组为4而返回3个项目。我理解后面的3个项目通常相当于他的回答被接受,因为这是他想要的OP。好吧 –

3

您可以使用该接口的Stream

Arrays.stream(n) 
.filter(value -> value != targetNumber) 
.limit(3)/*if you want to print only the first three results*/ 
.forEach(System.out::println);