簡而言之,我有一組這樣的數字。如何返回數組中的特定值? - 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]
。
任何方式,我怎麼能做到這一點?
簡而言之,我有一組這樣的數字。如何返回數組中的特定值? - 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]
。
任何方式,我怎麼能做到這一點?
可以在經典時尚做到這一點:
for (int i : n) {
if (i != targetNumber)
System.out.println(i);
}
輸出將是n[0]
,n[1]
和n[3]
2
4
16
我認爲這個問題只有三個數字:) –
@ Dev.Joel你的答案是有效的我認爲這可能是過於複雜的OP,我喜歡流,但也許OP還沒有足夠的流的知識。任何方式我也給你我的投票。我認爲他的意思是3仍然是4的數字 –
問題的焦點也可能是因爲數組爲4而返回3個項目。我理解後面的3個項目通常相當於他的回答被接受,因爲這是他想要的OP。好吧 –
您可以使用該接口的Stream
Arrays.stream(n)
.filter(value -> value != targetNumber)
.limit(3)/*if you want to print only the first three results*/
.forEach(System.out::println);
你可以只返回一個對象或原語。例如,您可以使用所需值返回一個較小的數組,或者使用相關字段定義一個對象,然後設置這些字段並返回對象。 – Zarwan