/*
需求:数组元素查找(查找指定元素第一次在数组中出现的索引)
分析:
A:定义一个数组,并静态初始化。
B:写一个功能实现
遍历数组,依次获取数组中的每一个元素,和已知的数据进行比较
如果相等,就返回当前的索引值。
*/
class ArrayTest5 {
public static void main(String[] args) {
// 定义一个数组,并静态初始化
int[] arr = { 200, 250, 38, 888, 444 };
// 需求:我要查找250在这个数组中第一次出现的索引
int index = getIndex(arr, 250);
System.out.println("250在数组中第一次出现的索引是:" + index);
int index2 = getIndex2(arr, 250);
System.out.println("250在数组中第一次出现的索引是:" + index2);
int index3 = getIndex2(arr, 2500);
System.out.println("2500在数组中第一次出现的索引是:" + index3);
}
/*
需求:查找指定数据在数组中第一次出现的索引
两个明确:
返回值类型:int
参数列表:int[] arr,int value
*/
public static int getIndex(int[] arr, int value) {
// 遍历数组,依次获取数组中的每一个元素,和已知的数据进行比较
for (int x = 0; x < arr.length; x++) {
if (arr[x] == value) {
// 如果相等,就返回当前的索引值。
return x;
}
}
// 目前的代码有一个小问题
// 就是假如要查找的数据在数组中不存在,那就找不到,找不到,就对应的返回吗?
// 所以报错。
// 只要是判断,就可能是false,所以要细心。
// 如果找不到数据,一般返回一个负数即可,而且是返回-1
return -1;
}
public static int getIndex2(int[] arr, int value) {
// 定义一个索引
int index = -1;
// 有就修改索引值
for (int x = 0; x < arr.length; x++) {
if (arr[x] == value) {
index = x;
break;
}
}
// 返回index
return index;
}
}
原文:http://my.oschina.net/u/2001589/blog/500478