查找(顺序查找)

在java的介绍中,我们常用的查找有两种

1.顺序查找:(案例演示)

2.二分查找:【二分法】

 案例要求:

有一个数列:白眉鹰王,金毛狮王,紫衫龙王,青翼蝠王;从键盘中任意输入一个名称,判断数列中是否包含此名称【顺序查找】要求:如果找到了,就提示找到,并给出下标。

思路分析;

定义一个字符串数组    String[] arr = {"白眉鹰王", "金毛狮王", "紫衫龙王", "青翼蝠王"};

创建Scanner对象从键盘输入

判断输入的字符是否等于数组内的元素,使用equals

流程图如下:

 文字描述

定义一个字符串数组    String[] arr = {"白眉鹰王", "金毛狮王", "紫衫龙王", "青翼蝠王"};

使用for循环,int类型i初值为0 ,判断是否小于arr数组的长度,为真从键盘输入name,判断name是佛定于arr数组内的元素为真则输出已经找到了,退出循环,为假则i自增回到循环,当for循环为假时结束循环。

增加了一个小技巧

定义一个索引int index = -1,当name等于arr数组内的任意一个元素时,把 i 赋值给index,

if判断index是否等于-1 为真则输出不符合任何一个元素。

代码如下

优化后

package 课堂练习;
import java.util.Scanner;
public class 练习30 {
public static void main(String[] args){
    Scanner myScanner = new Scanner(System.in);
    String[] arr = {"白眉鹰王", "金毛狮王", "紫衫龙王", "青翼蝠王"};
    System.out.println("请输入倚天屠龙记里任意一个名称:");
    String name = myScanner.next();
    int index = -1;
    for(int i = 0; i < arr.length; i++){
        if(name.equals(arr[i])){
            System.out.println("已经找到了!!" + arr[i]);
            System.out.println("下标为:" + i);
            index = i;
            break;
        }
    }
    if(index == -1){
        System.out.println("没有找到!!");
    }
}
}
代码结果展示

 


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部