zoukankan      html  css  js  c++  java
  • 05查找数组指定元素的两种处理思路

    查找数组指定元素的两种处理思路

    一、准备工作

    public class Test {
        public static void main(String[] args) {
            //查找元素但找不到元素时的两种方式,以数组为例
            int[] a={1,88,23,9,7,43};
            boolean flag=false;//flag为定义的哨兵字符
            System.out.println("输出a数组如下");
            for (int i = 0; i < a.length; i++) {
                System.out.print(a[i]+"	");
            }
            System.out.println();
            Scanner scanner=new Scanner(System.in);
            System.out.println("请输入你要在a数组里面查找的元素");
            int number=scanner.nextInt();
        }
    }
    

    二、设立一个哨兵字符

    思路:定义布尔类型的哨兵字符flag,默认为false

    ​ 如果找到了使flag=true,就打印找到的下标,并跳出当前循环,因为flag=true就不会执行后面的if语句了

    ​ 如果未找到,则啥都不做,如果结束for循环时也没找到,那么将会进入后面的if语句,打印信息-1(即找不到所要查找的元素)

     //第一种即用哨兵字符
     for (int i = 0; i < a.length; i++) {
        if(number==a[i]){
           flag=true;
           System.out.println(i);
           break;
        }
     }
     if(flag==false) {
        System.out.println(-1);
     }
    

    三、遍历到最后一个元素时加判断

    思路:遍历数组(将数组一个个判断后)时,若找到了相应的值,就打印找到的下标并跳出当前循环,如果遍历到最后一个元素也没有跳出当前循环,那么就判断进入if语句,打印输出-1

    //第二种 在循环的时候判断
    for (int i = 0; i < a.length; i++) {
        if(number==a[i]){
            System.out.println(i);
            break;
        }
        if(i==a.length-1){
            System.out.println(-1);
        }
     }
    
  • 相关阅读:
    读书笔记2
    实验8 SQLite数据库操作
    实验7 BindService模拟通信
    实验6 在应用程序中播放音频和视频
    实验5 数独游戏界面设计
    网络工程201306114136张文雅实验四
    实验五 操作系统之存储管理
    实验四 主存空间的分配和回收
    进程调度模拟程序
    作业调度算法
  • 原文地址:https://www.cnblogs.com/SSSzhanglingzhi/p/14025322.html
Copyright © 2011-2022 走看看