1 问题
已知一个数组内元素为 { 19, 28, 37, 46, 50 } 。用户输入一个数据,查找该数据在数组中的索引,并在控制台输出找到的索引值,如果没有查找到,则输出 -1。
2 方法
首先定义一个数组,在键盘录入要查找的数据,用一个变量接收。再定义一个变量,初始值为-1。遍历数组获取数组中的每一个元素。然后将键盘输入的数据和数组中的每一个元素进行比较,如果值相同就把该值对应的索引赋值给索引变量,并结束循环。最后输8出索引变量。
package blog;
import java.util.Scanner;
public class Test01 {
public static void main(String[] args) {
int[] arr = {19,28,37,46,50};
Scanner sc = new Scanner(System.in);
System.out.println("请输入要查找的数据:");
int a = sc.nextInt();
int dataIndex = getDataIndex(arr,a);
if(dataIndex == -1){
System.out.println("您输入的数据在数组中不存在!");
}else{
System.out.println("您输入的数字" + a + "在数组中的索引是:" + dataIndex);
}
}
public static int getDataIndex(int [] arr,int a){
for(int i = 0;i < arr.length;i++){
if(a == arr[i]){
return i;
}
}
return -1;
}
}
3 结语
针对查找某个元素再数组中对应的索引这个问题,提出遍历的方法,通过一个一个的去比较看哪个相等,证明该方法是有效的。本文的方法缺点就是比较费时效率不高,还可以在学习了解之后通过二分法的方法来查找。