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 结语
针对查找某个元素再数组中对应的索引这个问题,提出遍历的方法,通过一个一个的去比较看哪个相等,证明该方法是有效的。本文的方法缺点就是比较费时效率不高,还可以在学习了解之后通过二分法的方法来查找。