2016-10-02 24 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);