简而言之,我有一组这样的数字。如何返回数组中的特定值? - 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