顺序查找一般用于数据有规律有组织的查找,通过顺序遍历数据可以准确查找出结果以及位置,一般用到的知识是for循环和数组。
下面是顺序查找的核心代码
int index=-1;
for(int i=0;i<arr.length;i++){
if(name.equals(arr[i])){
index=i;
System.out.println("成功查找到"+name);
System.out.println("在数组中下标是"+i);
}
}
if(index==-1){
System.out.println("很遗憾没有找到"+name);
}
这里的循环很容易理解,如果是查找数值的话就一个个比较大小,可以定义一个max并让其值等于数组的首地址即max=arr【0】;如果是找字符串(名字)的话需要利用equals方法来比较,即为(查找的值).equals(数据集合)结果返回的是Boolean类型可以用于if语句中
然后就是这里的index索引技巧了,当我们查找一个值时不一定能够查出来,这时需要返回查找失败,通过将index设为-1,在for循环中如果查找到想要的值就让index等于数组的下标,这时既能判断是否查找到此元素也能确定此元素在数组中的位置。
下面是一个总的代码(输入n个人的名字并查找)
import java.util.Scanner;
public class chazhao {
public static void main(String[] args){
Scanner myscanner = new Scanner(System.in);
System.out.println("请输入存入名字的数量");
int namenumber = myscanner.nextInt(); //输入数组的大小
String arr[] = new String[namenumber];
System.out.println("请依次输入名字");
for(int i=0;i<arr.length;i++){
arr[i] = myscanner.next(); //利用循环依次输入名字
}
System.out.println("请输入你要查找的名字");
String name = myscanner.next();
//定义索引变量以此确定查找位置
int index=-1;
for(int i=0;i<arr.length;i++){
if(name.equals(arr[i])){
index=i;
System.out.println("成功查找到"+name);
System.out.println("在数组中下标是"+i);
}
}
if(index==-1){
System.out.println("很遗憾没有找到"+name);
}
}
}
下面是运行的结果