查找(顺序查找)

在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("没有找到!!");
    }
}
}
代码结果展示

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值