用数组查找某个整数

任务概述

查找某个整数 定义一个长度为 10 的整型数组 nums ,循环输入 10 个整数。
然后将输 入一个整数,查找此整数,找到输出下标, 没找到给出提示。

代码实现

import java.util.Scanner;
public class Demo1 {
    
    
	public static void main(String[] args) {
    
    
	     Scanner sc= new Scanner(System.in);
		//定义一个长度为 10 的整型数组 nums
	     int [] nums =new int [] {
    
    1,4,6,8,10,32,45,66,98,100};
	   
	     //通过for循环 遍历输出数组中10个整数
	     for(int i = 0;i<nums.length;i++) {
    
    
	    	  System.out.print(nums[i]+" ");
	     }
	     System.out.println("请输入你要查找的数字:");
	     //通过键盘录入,找出需要查找的数字
	
	     int num=sc.nextInt();
	     //定义一个最小范围的下标索引
	     int minIndex=0;
	     //定义一个最大范围的下标索引
	     int maxIndex=nums.length-1;
	   //定义一个中间范围的下标索引
	     int centerIndex=(minIndex+maxIndex)/2;
	     //通过while循环找出该数
	     while(true) {
    
    
	    	 if(nums[centerIndex]>num) {
    
    //如果最大索引的数比需要找的数大
	    		 maxIndex=centerIndex-1;//最大索引指向中间索引的左边一个
	    	 }
	    	 else if(nums[centerIndex]<num) {
    
    //如果最小索引的数比需要找的数小
	    		 minIndex=centerIndex+1;//最小索引指向中间索引的右边一个
	    	 }
	    	 else {
    
    //如果中间索引的数等于需要找的数
	    		 break;//找到后 返回
	    	 }
	    	 if(minIndex>maxIndex) {
    
    
	    		 centerIndex=-1;
	    		
	    		 break;
	    	 }
	    	 centerIndex=(minIndex+maxIndex)/2;
	    	 
	     }
        	  System.out.println("需要找的数的位置在"+centerIndex);
          }
	}

运行结果

1 4 6 8 10 32 45 66 98 100 请输入你要查找的数字:
100
需要找的数的位置在9

猜你喜欢

转载自blog.csdn.net/gps666666/article/details/113784802