java - 如果值在数组中,如何返回索引?
问题描述
如果在数组中找到值,我不知道如何返回索引,如果没有找到,如何返回 -1。我试过这个,但它不起作用。有人可以帮助我吗?提前致谢!
import java.util.Scanner;
public class NM {
public static void main(String[] args) {
int[] arraynm = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
Scanner sc = new Scanner(System.in);
System.out.print("Enter a number: ");
int num = sc.nextInt();
boolean match = false;
for (int i = 0; i < arraynm.length; i++) {
if (num == arraynm[i]) {
match = true;
return index;
break;
}
}
if(!match) {
return -1;
}
}
解决方案
你可以有这样的方法
public int indexInArray(final int value, final int[] arr) {
for (int i = 0; i < arr.length; i++) {
if (value == arr[i]) {
return i;
}
}
return -1;
}
或者你可以使用流
int index = IntStream.range(0, arraynm.length).filter(i -> num == arraynm[i]).findFirst().orElse(-1);
推荐阅读
- ios - 仅从 2018 年 7 月开始的 iOS 11 应用程序
- sql-server - 无法解析 XML blob
- java - Android Studio - 与设备连接导致套接字关闭的问题
- python - 在一张图片中结合 sympy 和 matplotlib 图
- jython - 无法在 ExecuteScript 处理器中加载 ldap3 python 模块
- android - recyclerview项目的不同角半径
- r - 使用 R-package 'openxlsx' 从 Excel 表中提取链接
- mongodb - 如何使用用户名和密码在 Asp.Net Core 中访问 MongoDb?
- pandas - 当不能立即清楚什么是重复项时,附加一个没有重复项的数据框
- c++ - 通过增强几何从多边形(环)裁剪多边形(环)的一部分